建立iptables.rule
[root@localhost ~]#vim iptables.rule #!/bin/bash # 取消防火牆: # iptables -F # iptables -X EXTIF="eth1" # 這個是可以連上 Public IP 的網路介面,也可能是 ppp0 export EXTIF # 1. 先設定好核心的網路功能: # 開啟 TCP Flooding 的 DoS 攻擊抵擋機制,但這個設定不適合 loading 已經很高的主機!!! echo "1" > /proc/sys/net/ipv4/tcp_syncookies # 取消 ping 廣播的回應; echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # 開啟逆向路徑過濾,以符合 IP 封包與網路介面的設定; for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo "1" > $i done # 開啟記錄有問題的封包 for i in /proc/sys/net/ipv4/conf/*/log_martians; do echo "1" > $i done # 取消來源路由,這個設定值是可以取消的; for i in /proc/sys/net/ipv4/conf/*/accept_source_route; do echo "0" > $i done # 取消重新宣告路徑的功能。 for i in /proc/sys/net/ipv4/conf/*/accept_redirects; do echo "0" > $i done # 取消傳送重新宣告路徑的功能。 for i in /proc/sys/net/ipv4/conf/*/send_redirects; do echo "0" > $i done # 2. 清除規則、設定預設政策及開放 lo 與相關的設定值 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin; export PATH iptables -F iptables -X iptables -Z iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 3.預設抵擋的主機 # iptables -A INPUT -i $EXTIF -s 192.168.1.1 -j DROP # 4.預設開放的主機 # iptables -A INPUT -i $EXTIF -s 192.168.1.0/24 -j ACCEPT # 4-1.撥接ADSL時,開放內部的主機 #iptables -A INPUT -i eth0 -j ACCEPT # 5. 允許某些類型的 ICMP 封包進入 AICMP="0 3 3/4 4 11 12 14 16 18" for tyicmp in $AICMP do iptables -A INPUT -i $EXTIF -p icmp --icmp-type $tyicmp -j ACCEPT done # 6. 允許某些服務的進入 # iptables -A INPUT -p TCP -i $EXTIF --dport 21 --sport 1024:65534 -j ACCEPT # FTP # iptables -A INPUT -p TCP -i $EXTIF --dport 65400:65410 --sport 1024:65534 -j ACCEPT #FTP 被動式連線埠 # iptables -A INPUT -p TCP -i $EXTIF --dport 22 --sport 1024:65534 -j ACCEPT # SSH # iptables -A INPUT -p TCP -i $EXTIF --dport 25 --sport 1024:65534 -j ACCEPT # SMTP # iptables -A INPUT -p UDP -i $EXTIF --dport 53 --sport 1024:65534 -j ACCEPT # DNS # iptables -A INPUT -p TCP -i $EXTIF --dport 53 --sport 1024:65534 -j ACCEPT # DNS # iptables -A INPUT -p TCP -i $EXTIF --dport 80 --sport 1024:65534 -j ACCEPT # WWW # iptables -A INPUT -p TCP -i $EXTIF --dport 110 --sport 1024:65534 -j ACCEPT # POP3 # iptables -A INPUT -p TCP -i $EXTIF --dport 443 --sport 1024:65534 -j ACCEPT # HTTPS # 最終將這些功能儲存下來吧! /etc/init.d/iptables save
寫入rc.local 僅是預防萬一而已
[root@localhost ~]# vim /etc/rc.d/rc.local # 1. Firewall /路徑/iptables.rule
近期迴響