教会你配置Linux透明防火墙
时间:2010-12-01 来源:mydear
你在上网时,是不是经常受到攻击,怎样才能避免这样的攻击的,我们应该配置Linux透明防火墙,这就又出现了一个问题,怎样配置配置Linux透明防火墙?
1.设置网络地址。修改文件 /etc/sysconfig/network-scripts/ifcfg-eth0 和 /etc/sysconfig/network-scripts/ifcfg-eth1,使其具有相同的ip地址,相同的子网掩码。用vi 来编辑如下,保存文件,运行命令 service network restart 使修改生效。
- DEVICE=eth0
- BOOTPROTO=none
- BROADCAST=192.168.1.255
- IPADDR=192.168.1.254
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- ONBOOT=yes
- USERCTL=no
- PEERDNS=no
- TYPE=Ethernet DEVICE=eth1
- BOOTPROTO=none
- BROADCAST=192.168.1.255
- IPADDR=192.168.1.254
- NETMASK=255.255.255.0
- NETWORK=192.168.1.0
- ONBOOT=yes
- USERCTL=no
- PEERDNS=no
- TYPE=Ethernet
这里需要注意两个地方,第一个是要区分清楚那一个网卡是eth0,那一个是 eth1.这个问题十分关键,如果搞混了就会导致防火墙不能连通网络。至于怎样区分eth0和 eth1,我将在文章的末尾作简单的描述。在这里假定与路由器相连的网卡是eth0。
2.设置默认路由。在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中加入一行 gateway=192.168.1.1 保存后运行命令 service network restart ,修改生效。找一个开放ICMP协议的公网IP,用命令ping 202.108.36.196 (www.163.com 的主机)检测跟外网的连通状况,如果正常,表明Linux防火墙主机跟外网配置正确。再用命令ping 192.168.1.18 检测防火墙主机与内网主机的连通状况,如果正常则进行下一步操作。
3.启用网络转发和proxy_arp 。这是透明防火墙的核心部分,我把它们写进文件/etc/rc.d/rc.local。用vi /etc/rc.d/rc.local 插入如下内容。在做这一步的时候,我曾经花费较多的时间,因为我做参考的那本书里的这一步没有参数 “–w” ,后来单独运行 sysctl net.ipv4.conf.eth0.proxy_arp=1 才发现red hat Linux 9 没有参数“-w”不能运行。
- #Ip forward
- /sbin/sysctl -w net.ipv4.conf.all.forwarding=1
- #Enable proxy-arp
- /sbin/sysctl -w net.ipv4.conf.eth0.proxy_arp=1
- /sbin/sysctl -w net.ipv4.conf.eth1.proxy_arp=1
4、 指定路由。由于两块网卡(eth0,eth1)使用同样的ip ,如果不专门指定转发路径,一定会导致路由混乱,从而使防火墙以内的计算机没法访问 Internet 。还是用命令 vi 修改文件 /etc/rc.d/rc.local ,插入如下几行。保存文件,重新启动计算机。
- #Define route
- /sbin/ip route del 192.168.1.0/24 dev eth0
- /sbin/ip route add 192.168.1.1 dev eth0
- /sbin/ip route add 192.168.1.0/24 dev eth1
Linux防火墙,如果不出意外,就可以从192.168.1.18 这台主机访问Internet,当然内网的任何机器都是可以访问Internet 的。在这里对定义的路由(Define route)作些说明:/sbin/ip route del 192.168.1.0/24 dev eth0 表明所有到子网192.168.1.0/24的数据包都不从网卡eth0转发而从 eth1转发,即命令 /sbin/ip route add 192.168.1.0/24 dev eth1;/sbin/ip route add 192.168.1.1 dev eth0 表明所有到192.168.1.1的数据包都由eth0转发,这其实可以理解为两个网卡数据转发的分工—到192.168.1.1 的数据包由eth0负责,其余的由eth1负责。这样你就完成配置Linux透明防火墙,选择的防火墙规则为中等级别,那么这个防火墙已经配置成功了。