站长学堂
你的位置: 中国个人站长站 -- 站长学堂 -- 网络安全 -- Unix/Linux安全教程 -- 文章正文 GNU/Linux和FreeBSD上的NAT网关安装笔记
推荐位

GNU/Linux和FreeBSD上的NAT网关安装笔记

中国个人站长站 Unix/Linux安全教程 点击数: 更新时间:2004-10-22 9:10:27
  硬件需求:

  双网卡

  内存 > 64M

  硬盘 > 1G   

  注:

  NAT网关本身效率都很高,所以即使在配置很低的机器上运行效率也是足够的(仍建议尽可能多的增加内存 > 256M),

  如果需要记录日志做分析,则会产生很大的I/O操作并占用大量硬盘空间,建议使用SCSI硬盘并做日志轮循。  

  假设2块网卡分别按照以下网段设置:

  内网网卡IP地址:192.168.0.1/255.255.255.0 本身为网关

  外网网卡IP地址:111.222.111.222/255.255.255.192 网关:111.222.111.1   

  安全策略:   

  作为网关,安全性非常重要,建议除了远程登录用的SSH外,尽可能多的停掉所有不相关服务。

  本安装文档只是最简单的配置,没有任何安全过滤规则,更多安全过滤规则需要根据实际情况补充。

  FreeBSD 4.7上用IPFIREWALL做NAT网关

  安装FreeBSD系统时包含开发平台(gcc工具等),因为内核缺省不支持地址转发和防火墙,所以需要重新编译内核。   

  内核编译   

  由于内核缺省不支持地址转发和防火墙,所以需要重新编译内核:

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

  #cp GENERIC GATEWAY

  #vi GATEWAY   

  修改后的内核配置:修改了名称和增加了IPFIREWALL的相关选项:

  #diff GATEWAY GENERIC

  25c25

  < ident GATEWAY

  ---

  > ident GENERIC

  62,64d61 加入IPFIREWALL选项

  < options IPFIREWALL

  < options IPFIREWALL_VERBOSE

  < options IPDIVERT   

  重新编译:大约需要30分钟左右

  #/usr/sbin/config GATEWAY

  #cd ../../compile/GATEWAY/

  #make depend; make; make install   

  重启机器一次,确认新的KERNEL正常启动。   

  修改rc.conf中的相关配置:假设内网使用网卡fxp0,外网网卡使用xl0

  ###############################################

  gateway_enable="YES"   

  ifconfig_fxp0="inet 192.168.0.1 netmask 255.255.255.0"

  ifconfig_xl0="inet 111.222.111.222 netmask 255.255.255.0"

  defaultrouter="111.222.111.1"   

  natd_enable="YES"

  natd_interface="xl0"   

  firewall_enable="YES"

  firewall_type="open"

  ###############################################
  

  防火墙过滤规则设置
  

  ipfw的规则是通过运行/etc/rc.firewall这个脚本生效的,rc.firewall脚本会检查rc.conf中firewall_type等配置,然后根据firewall_type定义的模式"open" "client" "simple"等切换到rc.firewall中相应部分执行。   

  一个安全的防火墙本身是一个非常复杂的策略。为了方便配置,可以以rc.firewall文件为基础,在各种缺省模式的基础上加入自己的规则。缺省最简单的防火墙配置是在rc.conf里设置使用"open"模式,   

  注意:修改rc.firewall配置建议从最简单的"open"模式开始,而且让修改生效前,一定将旧的成功运行的配置文件备份成rc.firewall.bak,便于以后的错误后恢复,如果防火墙配置错误可能导致远程无法登陆,因此修改防火墙配置一定要在服务器终端界面进行。
 

  日志记录

  文件系统优化: 使用异步文件系统提高性能async

  vi /etc/fstab

  /dev/da0s1f /tmp ufs rw,async 2 2

  /dev/da0s1g /usr ufs rw,async 2 2   

  修改rc.firewall中"open"模式中的配置:打开记录日志

  #${fwcmd} add 65000 pass all from any to any

  ${fwcmd} add 65000 pass log all from any to any   

  修改/etc/newsyslog.conf 增加security日志的存储上限从100k到 10000K

  /var/log/security 600 10 10000 * Z   

  新的配置生效
  
  修改防火墙配置后,可以用

  #sh /etc/rc.firewall

  让新的配置生效   

  常用命令
  
  ipfw list:显示目前的配置规则:

  #ipfw list

  00050 divert 8668 ip from any to any via xl0

  00100 allow ip from any to any via lo0

  00200 deny ip from any to 127.0.0.0/8

  00300 deny ip from 127.0.0.0/8 to any

  65000 allow log ip from any to any

  65535 deny ip from any to any   

  ipfw show:显示各种规则的统计信息

  # ipfw show

  00050 1008267 632203534 divert 8668 ip from any to any via vr0

  00100 0 0 allow ip from any to any via lo0

  00200 0 0 deny ip from any to 127.0.0.0/8

  00300 0 0 deny ip from 127.0.0.0/8 to any

  65000 1782079 1257247553 allow ip from any to any

  65535 36 31871 deny ip from any to any
  

  RedHat 8上用iptables做NAT网关
  

  将下列内容加入/etc/rc.local文件中:eth0绑内网IP eth1绑外网IP

  ################

  echo 1 > /proc/sys/net/ipv4/ip_forward

  /sbin/modprobe ip_tables

  /sbin/modprobe iptable_filter

  /sbin/modprobe iptable_nat

  /sbin/modprobe ip_conntrack

  /sbin/modprobe ip_conntrack_ftp

  /sbin/modprobe ip_nat_ftp

  /sbin/iptables --flush INPUT

  /sbin/iptables --flush FORWARD

  /sbin/iptables --flush POSTROUTING --table nat

  /sbin/iptables --policy FORWARD DROP

  /sbin/iptables --table nat --append POSTROUTING --out-interface eth1 --source 192.168.0.0/24 --jump MASQUERADE

  /sbin/iptables --append FORWARD --in-interface eth1 --match state --state ESTABLISHED,RELATED --jump ACCEPT

  /sbin/iptables --append FORWARD --source 192.168.0.0/24 --jump ACCEPT

  ################   

  iptables --list查看过滤表

天极网 Unix|Linux 文章录入:swh    责任编辑:swh 
个人站长站与你风雨同舟!
本站所提供的资源均来源于互联网,如有侵权行为,请与本站管理员联系,我们会第一时间删除!
·如果您发现《GNU/Linux和FreeBSD上的NAT网关安装笔记》文章有错误,也请通知我们修改!
联系邮箱chinageren#126.com,谢谢支持!
站内搜索:
广告服务 | 友情链接 | 联系我们 | 免责声明 | 用户留言 | 网站导航
版权所有:中国个人站长站 2007-2008 未经授权禁止复制或建立镜像 客服QQ号:112731235
copyright © 2007-2008 www.ChinaGeRen.com online services. all rights reserved. 苏ICP备05000059号