基于LINUX操作系统 的防火墙技巧及其具体实现(3)
2013-11-22 01:03
导读:有两个局域网,LAN1地址:202.117.120.65/255.255.255.248 为公共网络IP,LAN2地址为192.168.0.0/255.255.255.0,为内部保存地址。LINUX防火墙有两个内部接口:202.117.120.70接
有两个局域网,LAN1地址:202.117.120.65/255.255.255.248
为公共网络IP,LAN2地址为192.168.0.0/255.255.255.0,为内部保存地址。LINUX防火墙有两个内部接口:202.117.120.70接LAN1;192.168.0.1接LAN2。
现对防火墙进行配置,使LAN2的主机通过IP装作造访互联网,但只容许应用外部Web*****202.117.112.34的1252端口。LAN1中的主机被限制应用几种常用的互联网服务(DNS、SMTP、POP3、HTTP和FTP)。
下面就是创立的防火墙规矩脚本:
#/etc/rc.d/rc.firewall
#!/bin/sh
# eth0---External_interface
# eth1---LAN1_interface
# eth2---LAN2_interface
echo "Starting firewalling . . ."
#Flush any existing rules from all chains
ipchains -F
#Set the default policy to deny
ipchains -P input DENY
ipchains -P output REJECT
ipchains -P forward REJECT
#Enable traffic on the loopback interface
ipchains -A input -i lo -j ACCEPT
ipchains -A output -i lo -j ACCEPT
#Enable the traffic on the eth1
ipchains -A input -i eth1 -j ACCEPT
ipchains -A output -i eth1 -j ACCEPT
#the traffic on the eth2 only enablling using the WEB PROXY
ipchains -A input -i eth2 -p tcp -s 192.168.0.0/24 1024:65535 -d 202.117.112.34 1252 -j ACCEPT
ipchains -A output -i eth2 -p tcp ! -y -s 202.117.112.34 1252 -d 192.168.0.0/24 1024:65535 -j ACCEPT
#Forwarding rules
ipchains -A forward -i eth0 -s 202.117.120.64/29 -j ACCEPT
ipchains -A forward -i eth0 -s 192.168.0.0/24 -j MASQ
ipchains -A forward -i eth1 -d 202.117.120.64/29 -j ACCEPT
#Enable outgoing the packets from LAN on the External_Interface
ipchains -A output -i eth0 -j ACCEPT
#Enable incoming some ICMP messages on eth
# 1.Dest_Unreachable,Service_Unavailable
ipchains -A input -i eth0 -p icmp -s any/0 3 -d 202.117.120.64/29 -j ACCEPT
# 2.Time_Exceeded
(科教作文网 zw.nseac.com整理)
ipchains -A input -i eth0 -p icmp -s any/0 11 -d 202.117.120.64/29 -j ACCEPT
# 3.Allow outgoing pings to anywhere
ipchains -A input -i eth0 -p icmp -s any/0 0 -d 202.117.120.64/29 -j ACCEPT
#Enable Proxy of 202.117.112.34:1252
ipchains -A input -i eth0 -p tcp ! -y -s 202.117.112.34 1252 -j ACCEPT
#DNS (53) (DNS:202.117.112.3)—client modes
ipchains -A input -i eth0 -p udp -s 202.117.112.3 53 -d 202.117.120.64/29 1024:65535 -j ACCEPT
ipchains -A input -i eth0 -p tcp ! -y -s 202.117.112.3 53 -d 202.117.120.64/29 1024:65535 -j ACCEPT
#SMTP(25)Enable sending mail through a remote SMTP gateway
ipchains -A input -i eth0 -p tcp ! -y -s any/0 25 -d 202.117.120.64/29 1024:65535 -j ACCEPT
#POP(110)--Enable receiving mail from a remote POP server
ipchains -A input -i eth0 -p tcp ! -y -s any/0 110 -d 202.117.120.64/29 1024:65535 -j ACCEPT
#HTTP(80) --Enable accessing remote WEB sites as a client
ipchains -A input -i eth0 -p tcp ! -y -s any/0 80 -d 202.117.120.64/29 1024:65535 -j ACCEPT
#FTP(20,21) --Enable accessing remote FTP servers
ipchains -A input -i eth0 -p tcp ! -y -s any/0 21 -d 202.117.120.64/29 1024:65535 -j ACCEPT
ipchains -A input -i eth0 -p tcp -s any/0 20 -d 202.117.120.64/29 1024:65535 -j ACCEPT
ipchains -A input -i eth0 -p tcp ! -y -s any/0 1024:65535 -d 202.117.120.64/29 1024:65535 -j ACCEPT
echo "done"
exit 0
5 收场语
本文偏重从防火墙内部工作历程的角度分辨 对LINUX防火墙的包过滤、代理以及IP装作功效进行了分析,同时涉及到了一些网络配置、用ipchains具体实现等方面的内容。文末给出的实例已在实际中调试通过。
参考文献
1 Robert L.Ziegler,《Linux防火墙》国民邮电出版社,2000.10
2 W.Richard Stevens,《TCP/IP详解 卷一:协议 》机械工业出版社,2000.4.1
3 Rusty Russell,“Linux IPCHAINS-HOWTO”,netfilter.samba.org,Jul 4,2000
(科教作文网http://zw.ΝsΕAc.com发布)
5 Rawn Shah,“Using your old Pentiums and Linux to create a Firewall”,Independent
6 technologist and freelance journalist,September,1999