当前位置: 技术问答>linux和unix
解释脚本,(百分向送!)急急急!!!!!!!!!!!!!
来源: 互联网 发布时间:2014-11-27
本文导语: 请高手详细解释一下每条语句,不胜感激!!!! 3、 刷新所有的 ipchains #!/bin/sh echo “Starting ipchains rules … ” Refresh all chains /sbin/ipchains –F 4、 设置WWW包过滤 说明:WWW断口为80,采用tcp或udp协议。 规则:eth1=>...
请高手详细解释一下每条语句,不胜感激!!!!
3、 刷新所有的 ipchains
#!/bin/sh
echo “Starting ipchains rules … ”
Refresh all chains
/sbin/ipchains –F
4、 设置WWW包过滤
说明:WWW断口为80,采用tcp或udp协议。
规则:eth1=>允许所有来自Intranet的WWW包;eth0=>仅允许目的为内部网WWW服务器的包。
#Define HTTP packets
#Allow www request packets from Internet clients to www servers
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.11/32 www -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 1024: -d 192.168.80.11/32 www -i eth0 -j ACCEPT
Allow reponse from Intranet www servers to request Internet clients
/sbin/ipchains -A input -p tcp -s 192.168.80.11/32 www -d 0.0.0.0 1024: -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.11/32 www -d 0.0.0.0 1024: -i eth1 -j ACCEPT
#Allow www request packets from Intranet clinets to Internet www servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0 www -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.0/24 1024: -d 0.0.0.0 www -i eth1 -j ACCEPT
#Allow www response packets from Internet www servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 www -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 www -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
5、 设置ftp包过滤
说明:ftp端口为21,ftp-data端口为20,均采用tcp协议。
规则:eth1=>允许所有来自Intranet 的ftp、ftp-data包;eth0=>仅允许目的为内部网ftp服务器的包。
#Define FTP packets
#Allow ftp request packets from Internet clients to Intranet ftp server
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.12/32 ftp -i eth0 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.12/32 ftp -data -i eth0 -j ACCEPT
#Allow ftp response packets from Intranet ftp server to Internet clients
/sbin/ipchains -A input -p tcp -s 192.168.80.12/32 ftp -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 192.168.80.12/32 ftp -data -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow ftp request packets from Intranet clients to Internet ftp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0/0 ftp -i eth1 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0/0 ftp -data -i eth1 -j ACCEPT
#Allow ftp response packets from Internet ftp servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 ftp -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 ftp -data -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
6、 设置telnet包过滤
说明:telnet端口为21,采用tcp协议。
规则:eth1=>允许所有来自Intranet的telnet;eth0=>仅允许目的为bbs服务器的包;为了提高网络安全性,禁止所有对firewall的telnet请求。
#Define telnet packets
#Allow telnet request packets from Internet clients to Intranet bbs server
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d
192.168.80.13/32 telnet -i eth0 -j ACCEPT
#Allow telnet response packets from bbs server to Internet telnet c-
lients
/sbin/ipchains -A input -p tcp -s 192.168.80.13/32 telnet -d
0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow telnet request packets from Intranet clients to Internet teln-
et servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0./0 telnet -i eth1 -j ACCEPT
#Allow telnet response packets from Internet telnet servers to Intra-
net clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 telnet -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
7、 设置smtp包过滤
说明:smtp端口为21,采用tcp协议。
规则:eth1=>允许所有来自Intranet的smtp包;eth0=>仅允许目的为email服务器的smtp请求。
#Define smtp packets
#Allow smtp request packets from Internet smtp servers to Intranet email server
/sbin/ipchains -A input -p tcp -s 0.0.0.0 1024: -d
192.168.80.14/32 smtp -i eth0 -j ACCEPT
#Allow smtp response packets from Intranet email server to Internet smtp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.14/32 smtp -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow smtp request packets from Intranet clients to Internet smtp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 stmp -i eth1 -j ACCEPT
#Allow smtp respnse packets from Internet smtp servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 smtp -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
8、 设置POP-3包过滤
说明:POP-3端口为110,采用tcp或udp协议。
规则:eth1=>允许所有来自Intranet的POP-3包;eth0=>允许所有目的为Intranet(email server除外)的POP-3包。
#Define POP-3 packets
#Allow POP-3 request packets from Intranet clients to Internet pop-3 servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 POP-3 -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 POP-3 -i eth1 -j ACCEPT
#Allow pop-3 response packers from Internet pop-3 servers to Intranet clients (except email server)
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 pop-3 -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 pop-3 -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
9、 设置icmp包通过
说明:icmp包通常用于网络测试等,故允许所有的icmp包通过。
#Define icmp packets
/sbin/ipchains -A input -p icmp -j ACCEPT
10、 设置缺省包过滤规则
说明:除了以上所允许通过的包以外,禁止其他包通过。
#Define all rules on input chain
/sbin/ipchains -A input -j DENY -l
3、 刷新所有的 ipchains
#!/bin/sh
echo “Starting ipchains rules … ”
Refresh all chains
/sbin/ipchains –F
4、 设置WWW包过滤
说明:WWW断口为80,采用tcp或udp协议。
规则:eth1=>允许所有来自Intranet的WWW包;eth0=>仅允许目的为内部网WWW服务器的包。
#Define HTTP packets
#Allow www request packets from Internet clients to www servers
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.11/32 www -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 1024: -d 192.168.80.11/32 www -i eth0 -j ACCEPT
Allow reponse from Intranet www servers to request Internet clients
/sbin/ipchains -A input -p tcp -s 192.168.80.11/32 www -d 0.0.0.0 1024: -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.11/32 www -d 0.0.0.0 1024: -i eth1 -j ACCEPT
#Allow www request packets from Intranet clinets to Internet www servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0 www -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.0/24 1024: -d 0.0.0.0 www -i eth1 -j ACCEPT
#Allow www response packets from Internet www servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 www -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 www -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
5、 设置ftp包过滤
说明:ftp端口为21,ftp-data端口为20,均采用tcp协议。
规则:eth1=>允许所有来自Intranet 的ftp、ftp-data包;eth0=>仅允许目的为内部网ftp服务器的包。
#Define FTP packets
#Allow ftp request packets from Internet clients to Intranet ftp server
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.12/32 ftp -i eth0 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d 192.168.80.12/32 ftp -data -i eth0 -j ACCEPT
#Allow ftp response packets from Intranet ftp server to Internet clients
/sbin/ipchains -A input -p tcp -s 192.168.80.12/32 ftp -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 192.168.80.12/32 ftp -data -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow ftp request packets from Intranet clients to Internet ftp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0/0 ftp -i eth1 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d 0.0.0.0/0 ftp -data -i eth1 -j ACCEPT
#Allow ftp response packets from Internet ftp servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 ftp -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 ftp -data -d 192.168.80.0/24 1024: -i eth0 -j ACCEPT
6、 设置telnet包过滤
说明:telnet端口为21,采用tcp协议。
规则:eth1=>允许所有来自Intranet的telnet;eth0=>仅允许目的为bbs服务器的包;为了提高网络安全性,禁止所有对firewall的telnet请求。
#Define telnet packets
#Allow telnet request packets from Internet clients to Intranet bbs server
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 1024: -d
192.168.80.13/32 telnet -i eth0 -j ACCEPT
#Allow telnet response packets from bbs server to Internet telnet c-
lients
/sbin/ipchains -A input -p tcp -s 192.168.80.13/32 telnet -d
0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow telnet request packets from Intranet clients to Internet teln-
et servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0./0 telnet -i eth1 -j ACCEPT
#Allow telnet response packets from Internet telnet servers to Intra-
net clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 telnet -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
7、 设置smtp包过滤
说明:smtp端口为21,采用tcp协议。
规则:eth1=>允许所有来自Intranet的smtp包;eth0=>仅允许目的为email服务器的smtp请求。
#Define smtp packets
#Allow smtp request packets from Internet smtp servers to Intranet email server
/sbin/ipchains -A input -p tcp -s 0.0.0.0 1024: -d
192.168.80.14/32 smtp -i eth0 -j ACCEPT
#Allow smtp response packets from Intranet email server to Internet smtp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.14/32 smtp -d 0.0.0.0/0 1024: -i eth1 -j ACCEPT
#Allow smtp request packets from Intranet clients to Internet smtp servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 stmp -i eth1 -j ACCEPT
#Allow smtp respnse packets from Internet smtp servers to Intranet clients
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 smtp -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
8、 设置POP-3包过滤
说明:POP-3端口为110,采用tcp或udp协议。
规则:eth1=>允许所有来自Intranet的POP-3包;eth0=>允许所有目的为Intranet(email server除外)的POP-3包。
#Define POP-3 packets
#Allow POP-3 request packets from Intranet clients to Internet pop-3 servers
/sbin/ipchains -A input -p tcp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 POP-3 -i eth1 -j ACCEPT
/sbin/ipchains -A input -p udp -s 192.168.80.0/24 1024: -d
0.0.0.0/0 POP-3 -i eth1 -j ACCEPT
#Allow pop-3 response packers from Internet pop-3 servers to Intranet clients (except email server)
/sbin/ipchains -A input -p tcp -s 0.0.0.0/0 pop-3 -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
/sbin/ipchains -A input -p udp -s 0.0.0.0/0 pop-3 -d
192.168.80.0/24 1024: -i eth0 -j ACCEPT
9、 设置icmp包通过
说明:icmp包通常用于网络测试等,故允许所有的icmp包通过。
#Define icmp packets
/sbin/ipchains -A input -p icmp -j ACCEPT
10、 设置缺省包过滤规则
说明:除了以上所允许通过的包以外,禁止其他包通过。
#Define all rules on input chain
/sbin/ipchains -A input -j DENY -l
|
我可以向你解释一下ipchains的命令行
ipchains -A input/output -p protocol -s source -d destination -j action -l
其中 -A是指向防火墙规则链中添加一条规则。input是指添加进入链,output是指添加输出链。-p是指制定协议,可以是tcp或者是udp
-s 是指规则制定的源地址 -d是指规则制定的目的地址
-j 是指对符合规则的数据包所采取的行动,有 ACCEPT , DENY , REJECT, REDIRECT ACCEPT是指允许,DENY是指简单将数据包抛弃,但不返回出错信息
REJECT是指将数据包抛弃,但返回出错信息,不推荐,因为安全因素。
-l是指将信息昨日志纪录。
制定规则是你需要了解你需要开启的服务的端口号,比如如果你开web服务,
你就需要允许别人访问你的80端口。也即用
ipchains -A input -p tcp -s 0.0.0.0(或者其他允许访问的ip地址,如166.111.0.1/16) -d yourip -j ACCEPT
如果你要访问别人的www,则需要
ipchains -A output -p tcp -s yourip -d 0.0.0.0( 或者其他你想访问的ip地址) -j ACCEPT
你还可以定义其他的规则,为了安全起见,你最好把默认的策略定义为全部禁止。即ipchains -P input -j DENY
ipchains -P output -j DENY(默认定义要放在前面),这样会有最好的安全性,但是没开启一项服务,就要添加相应的规则对。
建议你最好看看北京邮电出的一本专门介绍防火墙的书,很棒。
ipchains -A input/output -p protocol -s source -d destination -j action -l
其中 -A是指向防火墙规则链中添加一条规则。input是指添加进入链,output是指添加输出链。-p是指制定协议,可以是tcp或者是udp
-s 是指规则制定的源地址 -d是指规则制定的目的地址
-j 是指对符合规则的数据包所采取的行动,有 ACCEPT , DENY , REJECT, REDIRECT ACCEPT是指允许,DENY是指简单将数据包抛弃,但不返回出错信息
REJECT是指将数据包抛弃,但返回出错信息,不推荐,因为安全因素。
-l是指将信息昨日志纪录。
制定规则是你需要了解你需要开启的服务的端口号,比如如果你开web服务,
你就需要允许别人访问你的80端口。也即用
ipchains -A input -p tcp -s 0.0.0.0(或者其他允许访问的ip地址,如166.111.0.1/16) -d yourip -j ACCEPT
如果你要访问别人的www,则需要
ipchains -A output -p tcp -s yourip -d 0.0.0.0( 或者其他你想访问的ip地址) -j ACCEPT
你还可以定义其他的规则,为了安全起见,你最好把默认的策略定义为全部禁止。即ipchains -P input -j DENY
ipchains -P output -j DENY(默认定义要放在前面),这样会有最好的安全性,但是没开启一项服务,就要添加相应的规则对。
建议你最好看看北京邮电出的一本专门介绍防火墙的书,很棒。