可以修改/etc/rc.d/boot.local讓規則重啟後也能生效,如:
/sbin/iptables -f
/sbin/iptables -a input -i eth0 -p tcp --sport 80 -j accept
/sbin/iptables -a input -i eth0 -p tcp -j drop
/sbin/iptables -a input -i eth0 -p udp -j drop
iptables是乙個鏈的方式從前往後判斷,如果前面的規則成立就不會往後繼續,所以要注意順序,一般每行對應一條規則。
-i是insert意思,也就是插入
-f表示清除(即刪除)掉已有規則,也就是清空。
檢視已有的規則,執行命令:iptables -l -n
如(引數-l為list意思,-n表示以數字方式顯示ip和埠,不指定-n則顯示為名稱,如:http即80埠):
# iptables -l -n
chain input (policy accept)
target prot opt source destination
accept tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:443
accept tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
drop tcp -- 0.0.0.0/0 0.0.0.0/0
drop udp -- 0.0.0.0/0 0.0.0.0/0
chain forward (policy accept)
target prot opt source destination
chain output (policy accept)
target prot opt source destination
從可以看到:iptables有三種規則鏈(chain),即input、output和forward。
input 用於指定輸入規則,比如外部是可以訪問本機的80埠
output 用於指定輸出規則,比如本機是否可以訪問外部的80埠
forward 用於指定埠**規則,比如將8080埠的資料轉到到80埠
-i和-a需要指定鏈(chain)名,其中-i的鏈名後還需要指定第幾條(行)規則。
可通過-d引數刪除規則,有兩種刪除方式,一是匹配模式,二是指定第幾條(行)。
也可以通過-r引數修改已有規則,另外-l引數後也可以跟鏈(chain)名,表示只列出指定鏈的所有規則。
-j引數後跟的是動作,即滿足規則時執行的操作,可以為accept、drop、reject和redirect等。
在iptables的input鏈的第一行插入一條規則(可訪問其它機器的80埠):
iptables -i input 1 -p tcp --sport 80 -j accept
在iptables的input鏈尾追加一條規則(可訪問其它機器的80埠):
iptables -a input -p tcp --sport 80 -j accept
如果要讓其它機器可以訪問本機的80埠,則為:
iptables -a input -p tcp --dport 80 -j accept
插入前:
# iptables -l -n
chain input (policy accept)
target prot opt source destination
drop tcp -- 0.0.0.0/0 0.0.0.0/0
drop udp -- 0.0.0.0/0 0.0.0.0/0
插入:# iptables -i input 1 -p tcp --sport 80 -j accept
插入後:
# iptables -l -n
chain input (policy accept)
target prot opt source destination
accept tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
drop tcp -- 0.0.0.0/0 0.0.0.0/0
drop udp -- 0.0.0.0/0 0.0.0.0/0
追加前:
# iptables -l -n
chain input (policy accept)
target prot opt source destination
drop tcp -- 0.0.0.0/0 0.0.0.0/0
drop udp -- 0.0.0.0/0 0.0.0.0/0
追加:# iptables -i input 1 -p tcp --sport 80 -j accept
追加後(accept將不能生效):
# iptables -l -n
chain input (policy accept)
target prot opt source destination
drop tcp -- 0.0.0.0/0 0.0.0.0/0
drop udp -- 0.0.0.0/0 0.0.0.0/0
accept tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:80
iptables的簡單應用
當前主機ip 10.0.0.7 iptables a input d 10.0.0.7 p icmp icmp type 8 j reject當前主機ip 10.0.0.7 iptables a input d 10.0.0.7 p tcp dport 80 m state state new j ...
iptables簡單了解
iptables是unix linux自帶的一款優秀且開源的基於包過濾的防火牆工具。可以用來做主機防火牆。可以做區域網共享上網。可以做ip及埠對映。iptables分為4表5鏈 表 filter input,output,forward nat postrouting,prerouting,outp...
總結iptables的應用
由於伺服器被黑,又研究的了一下iptables。總結一下他的幾個應用 1 限制埠 iptables a input p tcp dport 80 j accept iptables a input p tcp dport 22 j accept iptables a input j accept 實...