科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件用FreeBSD5.3建立安全网关,ADSL+FreeBSD+ipfilter+ipnat

用FreeBSD5.3建立安全网关,ADSL+FreeBSD+ipfilter+ipnat

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

最近由于病毒肆虐,遂打算换掉原来的windows 2000server网关,由于本人曾使用过FreeBSD,感觉这个系统还可以—曾用其作服务器,连续运行几个月都没有出过问题,所以打算用FreeBSD来做安全网关。

作者:巧巧读书 来源:巧巧读书 2009年12月6日

关键字: ADSL

  • 评论
  • 分享微博
  • 分享邮件

  最近由于病毒肆虐,遂打算换掉原来的windows 2000server网关,由于本人曾使用过FreeBSD,感觉这个系统还可以—曾用其作服务器,连续运行几个月都没有出过问题,所以打算用FreeBSD来做安全网关。

  在网上查阅了一些资料,花了半天的时间,将基于FreeBSD的网关搞定:

  现分享如下:

  一网络环境:

  通过1M ADSL上网,动态IP,不向外提供服务。内部有几十台电脑,要共享上网。FreeBSD5.3,两块网卡,8139( rl0 ),对外,同ADSL猫相连,530tx( vr0 ),对内,同交换机相连。

  二系统安装:

  至于系统的安装网上有很多资料,在此不细说。

  详情请看 http://www.xyinfo.ha.cn/netschool/freebsd/index.htm

  三编译内核:

  加上ipfilter支持,去掉系统默认的 ipfirewall。

  #cd /usr/src/sys/i386/conf

  #cp GENERIC DAFEI

  #ee DAFEI

  修改这一行,红色的部分要和该文件名相同。

  ident DAFEI

  在末尾加入一下几行:

  #禁用ipfirewall。

  #options IPFIREWALL

  #options IPFIREWALL_VERBOSE

  #options IPFIREWALL_VERBOSE_LIM99v=90

  #options IPFIREWALL_DEFAULT_TO_ACCEPT

  #options IPDIVERT

  #支持ipfilter

  options BRIDGE

  options IPFILTER

  options ACCEPT_FILTER_DATA

  options ACCEPT_FILTER_HTTP

  由于ipfirewall和ipfilter都运行在内核,二者不能同时共存,所以必须注释掉ipfirewall,其他内核优化选项这里就不细说了。

  编译内核:

  #cd /usr/src

  #make kernel KERNCONF=DAFEI

  编译成功后要重新启动计算机。

  四 配置拨号上网:

  修改ppp.conf文件

  #cd /etc/ppp

  #cp ppp.conf cpp.conf.bak

  #ee ppp.conf

  修改如下:

  default:

  set log Phase Chat LCP IPCP CCP tun command

  ident user-ppp VERSION (built COMPILATIONDATE)

  set redial 15 28800

  set reconnect 15 28800

  set dial "ABORT BUSY ABORT NO\sCARRIER TIMEOUT 5

  "" AT OK-AT-OK ATE1Q0 OK \dATDT\T TIMEOUT 40 CONNECT"

  adsl:

  set device PPPoE: rl0

  set mru 1492

  set mtu 1492

  set speed sync

  enable lqr

  set lqrperiod 5

  set cd 5

  set dial

  set login

  set timeout 0

  set authname YOURUSERNAME used to login

  set authkey YOURPASSWORD used to login

  set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0

  add default HISADDR

  enable dns

  红色的部分是需要修改的

  五 定制防火墙规则:

  #cd /etc

  #touch ipf.rules

  #ee ipf.rules

  加入如下内容:

  block in log quick all with short

  block in log quick all with ipopts

  block in log quick all with frag

  block in log quick all with opt lsrr

  block in log quick all with opt ssrr

  pass out on vr0 all

  pass in on vr0 all

  pass out quick on lo0 all

  pass in quick on lo0 all

  block out on rl0 all

  pass out quick on rl0 proto tcp from any to any flags S keep state keep frags

  pass out quick on rl0 proto udp from any to any keep state

  pass out quick on rl0 proto icmp all keep state

  block in quick on rl0 all

  由于空间的限制,删去了一些规则。

  六 配置地址转换(实现NAT功能):

  #cd /etc

  #touch ipnat.rules

  #ee ipnat.rules

  加入如下内容:

  map rl0 192.168.0.0/16 -> 0/32 proxy port ftp ftp/tcp

  map rl0 192.168.0.0/24 -> 0/32 portmap tcp/udp 10000:30000

  map rl0 192.168.0.0/24 -> 0/32

  七 配置rc.conf文件:

  #cd /etc

  #ee rc.conf

  修改如下:

  gateway_enable="YES"

  hostname="ginifab-gatway.ginifab.com"

  ifconfig_vr0="inet 192.168.1.1 netmask 255.255.255.0"

  kern_securelevel="1"

  kern_securelevel_enable="YES"

  inetd_enable="YES"

  linux_enable="NO"

  sendmail_enable="NO"

  keyrate="fast"

  nisdomainname="NO"

  sshd_enable="YES"

  usbd_enable="NO"

  ppp_enable="YES"

  ppp_mode="ddial"

  ppp_mode="background"

  ppp_profile="adsl"

  firewall_enable="NO"

  firewall_logging_enable="NO"

  ipfilter_enable="YES"

  ipnat_enable="YES"

  网关为192.168.1.1

  八: #reboot now

  一切OK。

  注意:

  编译内核时可根据自己机子的配置优化。本人的这个网关开机后总共使用不到30M内存。

  定制防火墙规则可参考网上资料,定制的更加安全,高效。

  在实现该网关的过程中,参考了很多网上的资料,本人仅把自己的配置过程写出来。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章