欢迎光临
我们一直在努力

如何配置Linux中的IP Masq防火墙-网管专栏,防火墙和路由

建站超值云服务器,限时71元/月

    本文向读者介绍如何使用linux下的ip masquerade(简称ip masq)防火墙功能。使用ip masq可以实现nat功能,这是网络防火墙的主要功能之一,用于中小型企、事业单位、居民生活小区通过单个注册的ip实现共享上网服务,特别是随着宽带网的普及,大量的用户需要使用internet,为了解决ip地址短缺问题,使用linux下的ip masq是一种较理想的解决方案。要实现linux下的ip masq需要解决两个问题,即网络双网卡的正确安装和ip masq的正确设置。

一、linux下双网卡的正确安装

1.设备环境

① ibm兼容pc机一台,ide硬盘一块。

② turbo linux操作系统6.0。

③ 3com isa以太网卡3c509b-tpo两块。

2.安装过程

① 在dos系统下,使用3c509b网卡驱动程序中所带3c5x9cfg.exe调试程序配置、测试两块3com isa网卡参数(主要是irq中断号和i/o内存地址),保证两块网卡能够正常运行。

② 在计算机系统中,安装turbo linux操作系统,配置第一块网卡(io=0x300),系统自动缺省识别网卡iobase=0x300,使用ping命令测试网卡状态。

③ 为了减少启动时可能出现的问题,linux内核不会自动检测多个网卡。若需要在服务器上安装多块网卡,对于已经将网卡的驱动编译进内核中的系统,则需要在“/etc/lilo.conf”文件中指定各个网卡的参数信息; 而对于没有将网卡的驱动编译到内核而是作为模块动态载入的系统,应该在“conf.modules”文件中进行相应的配置。

④ 安装第二块网卡,在“/etc/lilo.conf”中增加配置信息,其方法是通过lilo程序将启动参数信息传递给内核。对于isa卡,编辑“/etc/lilo.conf”文件,增加如下内容:ether=10,0×320,0,0,eth1。

前四个参数是数字,最后一个参数是设备的名称。所有的数字变量都可以自由选择,如果用户忽略或是设置成0,那么核心会自动检测该设备的参数变量或使用默认值。第一个参数代表分配给设备的中断请求通道,默认情况下核心会自动检测设备的irq通道; 第二个参数变量用来指定设备的基本i/o地址,同样,如果这里是0,就意味着核心会自动检测该设备的i/o地址;剩下的两个参数变量对于不同的设备有不同的含义,对于共享内存的网卡,它们用来定义共享内存区域的起始点和结束点,对于其他网卡来说,它们使用第一个参数来设置信息的调试等级,数字1到7代表调试等级逐渐增加,而数字8表示关闭信息调试,0表示使用默认值。

⑤ 重新启动机器。

⑥ 通过turbonetcfg增加eth1,并配置该网卡网络参数,如ip地址、网关等。

⑦ 重新启动机器,使用ping命令测试网卡状态。

⑧ 通过ifconfig命令显示interface接口状态。

二、 ip masq的正确设置 

1.检查linux 系统内核是否支持ip masq

检查linux系统内核是否支持ip masquerade。如果你手中的linux版本支持如下特征:

ipfwadm/ipchains、ip forwarding 、ip masquerading 、ip firewalling

则你不需要重新编译linux内核,如果你不太确信,可运行如下命令进行测试检查:

# ls /proc/sys/net/ipv4

如果如下文件存在,则linux已支持ip masquerade:“ip_forward”、“ip_masq_debug”、“ip_masq_udp_dloose”、“ip_always_defrag”。

2.为内网分配私网ip地址

私网地址用于企业内部基于tcp/ip技术的联网需要,它由the internet assigned numbers authority (iana)分配,笔者采用了以下地址: 192.168.0.0/24。

3.创建文件 /etc/rc.d/rc.firewall,编辑管理规则

# rc.firewall – initial simple ip masquerade test for 2.1.x and 2.2.x kernels

# forward_ipv4=true

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

#critical: enable automatic ip defragmenting since it is disabled by default

# in 2.2.x kernels. this used to be a compile-time option but the behavior was changed in 2.2.12

echo “1” > /proc/sys/net/ipv4/ip_always_defrag

# masq timeouts 2 hrs timeout for tcp session timeouts

# 10 sec timeout for traffic after the tcp/ip “fin” packet is received

# 160 sec timeout for udp traffic (important for masq ’ed icq users)

/sbin/ipchains -m -s 7200 10 160

# enable simple ip forwarding and masquerading

/sbin/ipchains -p forward deny

/sbin/ipchains -a forward -i eth0 -s 192.168.0.0/24 -j masq

*注释 interface eth0为公网ip地址(registered ip address);

编辑/etc/rc.d/rc.firewall文件的规则后,改变其文件权限为可执行如下命令:# chmod 700 /etc/rc.d/rc.firewall。

4.将firewall加载到启动脚本中

当firewall规则指定完毕后,需要重新启动计算机系统。你可以手工运行,也可以在系统中修改系统启动脚本使其自动执行。

手动的方式是在系统命令提示符下,执行如下命令:#/etc/rc.d/rc.firewall。

编辑启动脚本的方法是在/etc/rc.d/init.d文件中增加如下内容:/etc/rc.d/rc.firewall。

运行ip masq后,使用ping命令测试nat的网络功能,检查ip masq是否正常运行。

下面是linux ip masq正常运行后的系统路由表。

linux ip masq正常运行后的系统路由表
destination gateway genmask flags mss windows irtt interface
172.16.10 0.0.0.0 255.255.255.0 u 0 0 0 eth1
210.72.80.0 0.0.0.0 255.255.255.0 u 0 0 0 eth0
0.0.0.0 210.72.80.32 0.0.0.0 ug 0 0 0 eth0

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 如何配置Linux中的IP Masq防火墙-网管专栏,防火墙和路由
分享到: 更多 (0)