Iptables的基本語(yǔ)法規(guī)則
iptables的基本語(yǔ)法規(guī)則參考:
1、查看現(xiàn)有的iptables規(guī)則:
- sudo iptables -L
 
2、允許已建立的連接接收數(shù)據(jù):
- sudo ptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
3、開(kāi)放常見(jiàn)端口22
- sudo iptables -A INPUT -p tcp -i eth0 --dport ssh(22) -j ACCEPT
 - sudo iptables -A INPUT -p tcp -i eth0 --dport telnet(23) -j ACCEPT
 - sudo iptables -A INPUT -p tcp -i eth0 --dport www(80) -j ACCEPT
 
4、對(duì)每一個(gè)報(bào)文,iptables依次測(cè)試每一條規(guī)則,看報(bào)文于規(guī)則是否相匹配。一旦找到一條匹配的規(guī)則, 就根據(jù)此規(guī)則中指定的行動(dòng),對(duì)報(bào)文進(jìn)行處置,而對(duì)后面的規(guī)則不再進(jìn)行測(cè)試。因此,如果我們?cè)谝?guī)則表的 末尾添加一條規(guī)則,讓iptables丟棄所有報(bào)
- sudo iptables -A INPUT -j DROP
 
5、仍有一個(gè)問(wèn)題,就是環(huán)回接口也被阻斷了。剛才添加DROP規(guī)則的時(shí)候其實(shí)就可以使用-i eth0來(lái)解決這一
問(wèn)題。然而我們也可以為環(huán)回接口添加一條新規(guī)則來(lái)解決這個(gè)問(wèn)題。但是不能將新規(guī)則追加到末尾,因?yàn)榍?/p>
一條規(guī)則已經(jīng)把所有報(bào)文都丟棄了,而應(yīng)該把它插到DROP規(guī)則前面,即規(guī)則表中第五行的位置(即DROP之前)
- iptables -I INPUT 5 -i lo -j ACCEPT
 
6、sudo iptables -L -v查看詳細(xì)詳細(xì)
7、iptables-save > /etc/iptables.up.rules(保存當(dāng)前iptables的設(shè)置)
可以vi編輯 /etc/iptables.up.rules
編輯后 iptables-restore < /etc/iptables.up.rules
8、這樣設(shè)置的iptables每次開(kāi)機(jī)后就失效了,開(kāi)機(jī)自動(dòng)配置
- a. iptables-save > /etc/iptables.up.rules
 - b. vi /etc/network/interfaces(最后-s 手動(dòng)選擇截圖區(qū)域或者窗口兩行為我們自己所加的)
 - auto eth0
 - iface eth0 inet dhcp
 - pre-up iptables-restore < /etc/iptables.up.rules
 - post-down iptables-restore < /etc/iptables.down.rules
 
9、清楚iptables規(guī)則
- sudo iptables -F
 
10、丟棄所有來(lái)自127.0.0.1的ICMP包(eg:ping)
- sudo iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
 
11、有時(shí)一個(gè)包太大,不可能適合所有線路。這樣的話,包會(huì)被分成片,然后當(dāng)作多個(gè)包發(fā)送。最終重組這些分片來(lái)重建整個(gè)包
- sudo iptables -A OUTPUT -f -d 192.168.1.1 -j DROP(丟棄任何發(fā)往192.168.1.1的分片)
 
12、有時(shí)只允許單向的TCP連接會(huì)很有用。例如,你可能會(huì)允許連接到外部WWW服務(wù)器,但不會(huì)允許來(lái)自那個(gè)服務(wù)器的連接。 最簡(jiǎn)單的舉動(dòng)可能是阻止來(lái)自那個(gè)服務(wù)器的包,可惜,TCP連接需要包雙向傳送(才能正常工作)。
解決辦法是,只阻擋那些用來(lái)請(qǐng)求連接的包。這些包稱為SYN包(OK,從技術(shù)上說(shuō),它們的SYN標(biāo)志被設(shè)置,而沒(méi)有設(shè)置RST和ACK標(biāo)志,不過(guò)我們簡(jiǎn)單的稱為SYN包)。通過(guò)只阻止這種包,我們就可以阻止來(lái)自那些地方的連接企圖。'--syn'標(biāo)志是這樣用的:只對(duì)指定了TCP協(xié)議的規(guī)則有效。例如,指定來(lái)自192.168.1.1的連接請(qǐng)求。
- sudo iptables -A INPUT -p TCP -s 192.168.1.1 --syn
 
【編輯推薦】















 
 
 

 
 
 
 