亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習啦 > 學(xué)習電腦 > 電腦安全 > 防火墻知識 > iptables如何制作簡單防火墻

      iptables如何制作簡單防火墻

      時間: 林輝766 分享

      iptables如何制作簡單防火墻

        想用iptables制作簡單防火墻來玩玩,有什么方法呢?下面由學(xué)習啦小編給你做出詳細的iptables制作簡單防火墻方法介紹!希望對你有幫助!

        iptables制作簡單防火墻方法一:

        在Ubuntu 14.04中配置IPTables的規(guī)則。

        IPTables基本命令

        在向大家介紹復(fù)雜防火墻規(guī)則之前,還是先上一些簡單的料,讓大家對IPTables最為基本的命令有一些簡單了解。

        首先要說明的是IPTables命令必需以root權(quán)限運行,這意味著需要使用root身份登錄或者能夠有權(quán)限使用su或sudo -i取得root Shell。下面的內(nèi)容中都使用sudo,這也是Ubuntu系統(tǒng)上的首選方法。

        最好的起點就是先通過“-L”參數(shù)來查看下當前系統(tǒng)的所有IPTables規(guī)則:

        sudo iptables -L

        可以看到Linux中都有的3個常用默認鏈(INPUT、OUTPUT和FORWARD),同時也可以看到每個鏈的缺省策略(每個鏈對默認策略都是接受),在此可以看到Ubuntu中并沒有添加任何默認規(guī)則集。

        如果希望通過命令來查看每個鏈的默認規(guī)則,可以使用“-S”參數(shù):

        sudo iptables -S

        如果看到IPTables里面已經(jīng)有規(guī)則了,并希望取消這些規(guī)則后重新更配置話,可以使用“-F”參數(shù)來清空已有的規(guī)則集:

        sudo iptables -F

        雖然“-F”參數(shù)可以清空并刷新鏈中所有的現(xiàn)有規(guī)則集,但并不會對鏈的默認策略進行更改。因此,如果是在更改遠程VPS防火墻策略的話需要在“-F”清空所有規(guī)則時先將INPUT和OUTPUT鏈的默認策略恢復(fù)到ACCEPT,以免規(guī)則清空后SSH連接被阻斷。要做到這一點可執(zhí)行如下命令:

        sudo iptables -P INPUT ACCEPT

        sudo iptables -P OUTPUT ACCEPT

        sudo iptables -F

        在配置好允許SSH連接后(下面介紹),再將INPUT和OUTPUT鏈的默認規(guī)則更改為DROP即可。

        創(chuàng)建自已的IPTables規(guī)則

        現(xiàn)在就要開始為的VPS創(chuàng)建自定義的防火墻規(guī)則啦,正如上篇文章中所說,由于INPUT鏈會處理所有連接到服務(wù)器的入站數(shù)據(jù)包,因此的所有操作都與INPUT鏈有關(guān)?,F(xiàn)在先來配置服務(wù)器允許SSH連接。

        完整命令應(yīng)該是這樣的:

        sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

        說明:

        -A INPUT :表明要將此規(guī)則追加到某個鏈的最后,由于要操作INPUT鏈接,所以這么寫。

        -m conntrack :iptables除了自己的核心功能外還只有一些實用的擴展和模塊,這個參數(shù)表明添加conntrack模塊提供的能力。(conntrack模塊可以根據(jù)先前的連接來確定數(shù)據(jù)包之間的關(guān)系)

        –ctstate :該參數(shù)是conntrack模塊提供的,它可以確定如何用現(xiàn)在的數(shù)據(jù)包去匹配先前獲得的數(shù)據(jù)包。ESTABLISHED值將自動允許現(xiàn)有連接的數(shù)據(jù)包,RELATED值將允許已建立連接的相關(guān)數(shù)據(jù)包。(這樣就與SSH會話特性相匹配上了)

        -j ACCEPT :這個參數(shù)用于指定匹配的數(shù)據(jù)包的目標。用在這里表示接受和允許符合上述標準的數(shù)據(jù)包通過。

        配置好后來看一下:

        sudo iptables -L

        現(xiàn)在,應(yīng)該已經(jīng)知道IPTables的基本語法了,下面繼續(xù)添加規(guī)則打怪,以期盡快升級為高手。

        接受其它必要連接

        大家的VPS上一般SSH服務(wù)的22端口,Web服務(wù)器的80端口及Mysql的3306端口都是需要打開的,不然怎么對外提供服務(wù)呢。因此也需要通過如下命令在IPTables中打開這些端口:

        sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

        sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

        sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT

        為了保證的VPS能夠正常運行,還需要添加一條允許規(guī)則。通常,計算機上的服務(wù)都會發(fā)送網(wǎng)絡(luò)數(shù)據(jù)包以保持彼此之間的通信。而這種通信會利用到一個名叫l(wèi)oopback的偽網(wǎng)卡將流量引導(dǎo)回自己。因此,還需要為loopback網(wǎng)卡添加一條允許規(guī)則。

        sudo iptables -I INPUT 1 -i lo -j ACCEPT

        -I INPUT 1 :與“-A”不同,它可以指定要將規(guī)則添加到該鏈的位置。

        實施Drop規(guī)則

        前面講的內(nèi)容其實都是基于一個前提假設(shè)的,但事先需要先把防火墻的2種常用模式說明一下。一種是明確定義允許通過防火墻的規(guī)則,不匹配的都丟棄。另外一種是明確定義拒絕通過防火墻的規(guī)則,其余的都允許。的前提假設(shè)采用的就是第一種方式,這樣配置起來相對簡單,規(guī)則也較少,也更加安全。

        前面已經(jīng)為INPUT鏈接定義了一些允許規(guī)則,但默認INPUT鏈是允許所有包,所以現(xiàn)在需要將INPUT鏈的默認規(guī)則更改為“Drop”即丟棄。通過如下命令完成更改:

        sudo iptables -P INPUT DROP

        查看和保存配置

        IPTables的配置是立即生效的,前面已經(jīng)介紹過,在配置好之后可以直接用“-L”參數(shù)進行查看,這里再另外增加一個“–line-numbers”參數(shù),它主要用于顯示行數(shù),對于規(guī)則較多時的查看非常方便。

        sudo iptables -L --line-numbers

        雖然IPTables的命令執(zhí)行后會立即生效,但這個生效過程其實是臨時的,系統(tǒng)在重啟之后便會丟失。因此,還需要將這些配置添加到配置文件當中,以保證系統(tǒng)在下次重啟后會自動載入的IPTables防火墻規(guī)則。

        sudo apt-get update

        sudo apt-get install iptables-persistent

        該命令腳本下載執(zhí)行后會詢問是否對IPTables配置進行保存,如果確定的話選擇“是”即可。保存后下次重啟系統(tǒng)也不會造成配置丟失了。

        iptables制作簡單防火墻方法二:

        簡單規(guī)則: iptables -p INPUT DROP iptables -p OUTPUT ACCEPT iptables -p FORWARD DROP

        1、防止外網(wǎng)用內(nèi)網(wǎng)IP欺騙 iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP 查看nat規(guī)則 iptables -t nat -L

        2、如果想取消上面所加的規(guī)則: iptables -F -t nat iptables -X -t nat iptables -Z -t nat 3、阻止一個IP連接本機 iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP

        4、查看本機的IPTABLES的所填規(guī)則 iptables -L -n

        5、清除filter中所有的規(guī)則連接 iptables -F 清除filter中使用者自定義連接中的規(guī)則 iptables -X

        6、保存所修改的iptables /etc/init.d/iptables save 或者 /etc/rc.d/init.d/iptables save 視linux版本而定 重新啟動iptables服務(wù) service iptables restart 或者 /etc/init.d/iptables restart 視linux版本而定

        7、關(guān)閉不安全的端口連接本機 iptables -A OUTPUT -p tcp --sport 31337 -j DROP iptables -A OUTPUT -p tcp --dport 31337 -j DROP 8、開啟所需要的端口 22 iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT 80 iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT 9、禁止一個IP或者一個IP段訪問服務(wù)器端口服務(wù) 80端口 iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp --dport http -j DROPFTP端口 iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp --dport ftp -j DROP

       

        看了“iptables如何制作簡單防火墻 ”文章的還看了:

      1.C++怎樣制作防火墻

      2.怎么知道Linux系統(tǒng)中毒

      3.CentOS6.5怎么樣設(shè)置

      781354