Linux命令-防火墙命令:iptables
iptables詳解--轉
查看防火墻設置:
第一種方式:
cat /etc/sysconfig/iptables第二種方式:
iptables -L -n -v設置防火墻:
第一種方式:
1 iptables -I INPUT -p tcp --dport 22 -j ACCEPT 2 service iptables save 3 iptables -I INPUT -p tcp --dport 需要打開的端口 -j ACCEPT 4 service iptables save 5 service iptables restart?第二種方式:
vi /etc/sysconfig/iptables 直接編輯防火墻配置文件 service iptables restart 重啟服務iptables命令格式:
iptables [-AI 鏈名] [-io 網絡接口] [-p 協議] [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP|REJECT|LOG]選項與參數:
-AI 鏈名:針對某的鏈進行規則的 "插入" 或 "累加"
-A :新增加一條規則,該規則增加在原本規則的最后面。例如原本已經有四條規則,
使用 -A 就可以加上第五條規則!
-I :插入一條規則。如果沒有指定此規則的順序,默認是插入變成第一條規則。
例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5 號
鏈 :有 INPUT, OUTPUT, FORWARD 等,此鏈名稱又與 -io 有關,請看底下。
-io 網絡接口:設定封包進出的接口規范
-i :封包所進入的那個網絡接口,例如 eth0, lo 等接口。需與 INPUT 鏈配合;
-o :封包所傳出的那個網絡接口,需與 OUTPUT 鏈配合;
-p 協定:設定此規則適用于哪種封包格式
主要的封包格式有: tcp, udp, icmp 及 all 。
-s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域,例如:
IP :192.168.0.100
網域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
若規范為『不許』時,則加上 ! 即可,例如:
-s ! 192.168.100.0/24 表示不許 192.168.100.0/24 之封包來源;
-d 目標 IP/網域:同 -s ,只不過這里指的是目標的 IP 或網域。
-j :后面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)
范例:只要是來自內網的 (192.168.100.0/24) 的封包通通接受 iptables -A INPUT -i eth1 -s 192.168.100.0/24 -j ACCEPT 范例:只要是來自 192.168.100.10 就接受,但 192.168.100.230 這個惡意來源就丟棄 iptables -A INPUT -i eth1 -s 192.168.100.10 -j ACCEPT ptables -A INPUT -i eth1 -s 192.168.100.230 -j DROP這就是最單純簡單的防火墻規則的設定與觀察方式。不過,在上面的案例中,其實你也發現到有兩條規則可能有問題~ 那就是上面的特殊字體圈起來的規則順序。明明已經放行了 192.168.100.0/24 了,所以那個 192.168.100.230 的規則就不可能會被用到!這就是有問題的防火墻設定啊!了解乎?那該怎辦?就重打啊!
那如果你想要記錄某個規則的紀錄怎么辦?可以這樣做:
iptables -A INPUT -s 192.168.2.200 -j LOG LOG表示動作?Linux下iptables屏蔽IP和端口號
封單個IP的命令:
iptables -I INPUT -s 124.115.0.199 -j DROP封IP段的命令:/16
iptables -I INPUT -s 124.115.0.0/16 -j DROP封整個段的命令:/8
iptables -I INPUT -s 194.42.0.0/8 -j DROP封幾個段的命令:/24
iptables -I INPUT -s 61.37.80.0/24 -j DROP只封80端口:
iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP解封:
iptables -F清空:
iptables -D INPUT 數字列出 INPUT鏈 所有的規則:
iptables -L INPUT --line-numbers刪除某條規則,其中5代表序號(序號可用上面的命令查看):
iptables -D INPUT 5開放指定的端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT禁止指定的端口:
iptables -A INPUT -p tcp --dport 80 -j DROP拒絕所有的端口:
iptables -A INPUT -j DROP以上都是針對INPUT鏈的操作,即是外面來訪問本機的方向,配置完之后 需要保存,否則iptables 重啟之后以上設置就失效.
service iptables save?
?禁止被ping到
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP # 禁止icmp端口 iptables -A INPUT -i eth0 -p icmp -j DROP # 禁止icmp端口?
iptables 對應的配置文件 ?/etc/sysconfig/iptables
注意:iptables的規則匹配順序上從上到下的,也就是說如果上下兩條規則有沖突時,將會以上面的規則為準。
?
例子:
iptables -I INPUT -p tcp -s ip地址 -j ACCEPT iptables -I INPUT -p tcp -s ip地址/24 -j ACCEPTiptables -I INPUT -s 10.53.0.0/24 -j ACCEPTiptables -I INPUT -s 192.168.8.0/24 -j ACCEPTiptables -I INPUT -s 192.168.6.0/24 -p tcp --dport 端口 -j ACCEPTiptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 端口 -j ACCEPT-A INPUT -p tcp -m tcp --dport 12340 -j LOG --log-prefix "INPUT-12340" --log-level 3 --log-tcp-sequence --log-ip-options
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
? iptables -A INPUT -p icmp -j ACCEPT //icmp
? iptables -A INPUT -i lo -j ACCEPT //本地回還地址
? iptables -A INPUT -i eth0 -j REJECT --reject-with icmp-host-prohibited //指定外網網卡
? iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited //所有網卡
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibitediptables-save service iptables saveservice iptables restart cat /etc/sysconfig/iptables
防火墻日志:
#vim /etc/rsyslog.d/iptables.conf
? kern.err /data/log/iptables.error.log
#/etc/init.d/rsyslog restart
?
檢測端口的工具
yum install -y nc
nc -v -w 2 -z ip地址 端口
?
總結
以上是生活随笔為你收集整理的Linux命令-防火墙命令:iptables的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery常用的元素查找方法总结 .
- 下一篇: Linux学习笔记Sed最全整理