iptables簡單應用

2021-09-21 05:10:58 字數 3150 閱讀 3601

可以修改/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 實...