系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > 使用iptables命令為L(zhǎng)inux配置防火墻

如何使用iptables命令為L(zhǎng)inux系統(tǒng)配置防火墻(3)

時(shí)間:2014-12-29 17:06:26 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20141229/33650.html 手機(jī)查看 評(píng)論

  下面寫(xiě)一下更加細(xì)致的規(guī)則,就是限制到某臺(tái)機(jī)器

  如:我們只允許192.168.0.3的機(jī)器進(jìn)行SSH連接

  代碼如下:

  [root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

  如果要允許,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP.

  24表示子網(wǎng)掩碼數(shù)。但要記得把 /etc/sysconfig/iptables 里的這一行刪了。

  -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因?yàn)樗硎舅械刂范伎梢缘顷憽?/p>

  或采用命令方式:

  代碼如下:

  [root@tp ~]# iptables -D INPUT -p tcp --dport 22 -j ACCEPT

  然后保存,我再說(shuō)一邊,反是采用命令的方式,只在當(dāng)時(shí)生效,如果想要重起后也起作用,那就要保存。寫(xiě)入到/etc/sysconfig/iptables文件里。

  代碼如下:

 。踨oot@tp ~]# /etc/rc.d/init.d/iptables save

  這樣寫(xiě) !192.168.0.3 表示除了192.168.0.3的ip地址

  其他的規(guī)則連接也一樣這么設(shè)置。

  在下面就是FORWARD鏈,F(xiàn)ORWARD鏈的默認(rèn)規(guī)則是DROP,所以我們就寫(xiě)需要ACCETP(通過(guò))的鏈,對(duì)正在轉(zhuǎn)發(fā)鏈的監(jiān)控。

  開(kāi)啟轉(zhuǎn)發(fā)功能,(在做NAT時(shí),F(xiàn)ORWARD默認(rèn)規(guī)則是DROP時(shí),必須做)

  代碼如下:

  [root@tp ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

 。踨oot@tp ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT

  丟棄壞的TCP包

  代碼如下:

  [root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

  處理IP碎片數(shù)量,防止攻擊,允許每秒100個(gè)

  代碼如下:

  [root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

  設(shè)置ICMP包過(guò)濾,允許每秒1個(gè)包,限制觸發(fā)條件是10個(gè)包。

  代碼如下:

 。踨oot@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

  我在前面只所以允許ICMP包通過(guò),就是因?yàn)槲以谶@里有限制。

  二,配置一個(gè)NAT表放火墻

  1,查看本機(jī)關(guān)于NAT的設(shè)置情況

  代碼如下:

 。踨oot@tp rc.d]# iptables -t nat -L

  Chain PREROUTING (policy ACCEPT)

  target prot opt source destination

  Chain POSTROUTING (policy ACCEPT)

  target prot opt source destination

  SNAT all -- 192.168.0.0/24 anywhere to:211.101.46.235

  Chain OUTPUT (policy ACCEPT)

  target prot opt source destination

  我的NAT已經(jīng)配置好了的(只是提供最簡(jiǎn)單的代理上網(wǎng)功能,還沒(méi)有添加防火墻規(guī)則)。

  當(dāng)然你如果還沒(méi)有配置NAT的話,你也不用清除規(guī)則,因?yàn)镹AT在默認(rèn)情況下是什么都沒(méi)有的

  如果你想清除,命令是

  代碼如下:

 。踨oot@tp ~]# iptables -F -t nat

 。踨oot@tp ~]# iptables -X -t nat

 。踨oot@tp ~]# iptables -Z -t nat

  2,添加規(guī)則

  添加基本的NAT地址轉(zhuǎn)換,(關(guān)于如何配置NAT可以看我的另一篇文章),

  添加規(guī)則,我們只添加DROP鏈。因?yàn)槟J(rèn)鏈全是ACCEPT.

  防止外網(wǎng)用內(nèi)網(wǎng)IP欺騙

  代碼如下:

 。踨oot@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP

 。踨oot@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP

  [root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP

  如果我們想,比如阻止MSN,QQ,BT等的話,需要找到它們所用的端口或者IP,(個(gè)人認(rèn)為沒(méi)有太大必要)

  例:

  禁止與211.101.46.253的所有連接

  代碼如下:

 。踨oot@tp ~]# iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP

  禁用FTP(21)端口

  代碼如下:

 。踨oot@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP

  這樣寫(xiě)范圍太大了,我們可以更精確的定義。

  代碼如下:

 。踨oot@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -d 211.101.46.253 -j DROP

  這樣只禁用211.101.46.253地址的FTP連接,其他連接還可以。如web(80端口)連接。

  按照我寫(xiě)的,你只要找到QQ,MSN等其他軟件的IP地址,和端口,以及基于什么協(xié)議,只要照著寫(xiě)就行了。

  最后:

  drop非法連接

  代碼如下:

 。踨oot@tp ~]# iptables -A INPUT -m state --state INVALID -j DROP

  [root@tp ~]# iptables -A OUTPUT -m state --state INVALID -j DROP

 。踨oot@tp ~]# iptables-A FORWARD -m state --state INVALID -j DROP

  允許所有已經(jīng)建立的和相關(guān)的連接

  代碼如下:

  [root@tp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 。踨oot@tp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  [root@tp ~]# /etc/rc.d/init.d/iptables save

  這樣就可以寫(xiě)到/etc/sysconfig/iptables文件里了。寫(xiě)入后記得把防火墻重起一下,才能起作用.

  代碼如下:

  [root@tp ~]# service iptables restart

  別忘了保存,不行就寫(xiě)一部保存一次.你可以一邊保存,一邊做實(shí)驗(yàn),看看是否達(dá)到你的要求,

  上面的所有規(guī)則我都試過(guò),沒(méi)有問(wèn)題

  上面就是Linux下使用iptables命令配置防火墻的方法介紹了,如果你不知道你的系統(tǒng)有沒(méi)配置防火墻,可先對(duì)系統(tǒng)進(jìn)行檢測(cè),在進(jìn)行配置。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄