国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 防火墻知識(shí) > IPtables防火墻如何制作

    IPtables防火墻如何制作

    時(shí)間: 林輝766 分享

    IPtables防火墻如何制作

      想自己動(dòng)手制作一個(gè)IPtables防火墻,該怎么辦呢?下面由學(xué)習(xí)啦小編給你做出詳細(xì)的IPtables防火墻制作方法介紹!希望對(duì)你有幫助!

      IPtables防火墻制作方法一:

      iptables防火墻。安裝可以使用RPM安裝或者在Debian中使用apt-get install

      iptables,編譯安裝也不難,下載最新的版本,然后./configure --prifix=/some/path/ &&

      make && make install 就可以了。本文重點(diǎn)在如何step by step

      簡(jiǎn)歷一個(gè)自己的iptables防火墻。

      首先在使用iptables之前敲入一下兩條命令

      > iptables -F #這句話的意思是清空所有的鏈

      > iptables -X #這句話的意思是清空所有自定義的鏈

      以上兩條的含義你可以簡(jiǎn)單的認(rèn)為是iptables的初始化命令,無(wú)需深入。

      下面我們將要開(kāi)始建立一個(gè)iptables防火墻了。我們的做法是,默認(rèn)所有的數(shù)據(jù)都丟棄,除非我認(rèn)為滿足條件的我才接受

      有針對(duì)的打開(kāi)我們需要的端口,無(wú)疑是很安全的一種做法。下面兩句話可以定義默認(rèn)全部丟棄數(shù)據(jù)包:

      > iptables -P INPUT DROP

      > iptables -P OUTPUT DROP

      -P參數(shù)的意思是policy,翻譯成策略~那么這兩句話就好理解了。

      第一句的意思是:

      輸入(INPUT)的數(shù)據(jù)包默認(rèn)的策略(-P)是丟棄(DROP)的

      第二句的意思是:

      輸出(OUTPUT)的數(shù)據(jù)包默認(rèn)的策略(-P)是丟棄(DROP)的

      其實(shí)到這里已經(jīng)是一個(gè)有用的防火墻了,只不過(guò),沒(méi)有什么意義,和拔掉網(wǎng)線的概念沒(méi)有什么不同。

      首先寫(xiě)下這6句話:

      iptables -A INPUT -p icmp --icmp-type any -j ACCEPT

      允許icmp包進(jìn)入

      iptables -A INPUT -s localhost -d localhost -j ACCEPT

      允許本地的數(shù)據(jù)包

      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      允許已經(jīng)建立和相關(guān)的數(shù)據(jù)包進(jìn)入

      iptables -A OUTPUT -p icmp --icmp any -j ACCEPT

      允許icmp包出去

      iptables -A OUTPUT -s localhost -d localhost -j ACCEPT

      允許本地?cái)?shù)據(jù)包

      iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      允許已經(jīng)建立和相關(guān)的數(shù)據(jù)包出去

      說(shuō)明一下,這6句基本上都是要的。

      如果我的電腦是一臺(tái)web服務(wù)器的話,別人也沒(méi)有辦法訪問(wèn),怎樣才能讓別人能訪問(wèn)我的web呢?很簡(jiǎn)單,打開(kāi)80端口。

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

      但是這樣的話,別人還是沒(méi)有辦法訪問(wèn)我,問(wèn)什么呢?因?yàn)镺UTPUT是關(guān)閉的,沒(méi)有數(shù)據(jù)包能出去,那么就需要下面的一句話:

      > iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      這樣別人就能訪問(wèn)你的web了。

      但是如果你想訪問(wèn)別人的web怎么辦呢?打開(kāi)出去的80端口吧!

      > iptables -A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT

      同樣的這樣的一句話還是不能起作用,我們需要打開(kāi)別人進(jìn)來(lái)的數(shù)據(jù)包

      > iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      可以了么?試試看~還是不可以???為什么呢???對(duì)了,你可能想到了DNS端口沒(méi)有打開(kāi)怎么訪問(wèn)域名服務(wù)器呢?下面我們打開(kāi)DNS端口吧!

      > iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

      OK,這樣就能訪問(wèn)別人的web站點(diǎn)了,不過(guò)如果你要訪問(wèn)https的站點(diǎn),打開(kāi)443端口吧,這里我就不寫(xiě)了,你可以自己試一下,提示一下,在OUTPUT中寫(xiě)。

      為了方便管理,我們可能還要經(jīng)常ssh到這臺(tái)服務(wù)器上去,那么打開(kāi)22號(hào)端口吧!

      > iptables -A IPUT -p tcp -dport 22 -j ACCEPT

      或者我們還可能需要用這臺(tái)電腦ssh到別的電腦上去

      > iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

      但是我只允許一個(gè)固定的ip能ssh到我的服務(wù)器上來(lái)怎么辦呢?上句改成:

      > iptables -A INPUT -p tcp --dport 22 -s 192.168.1.10 -j ACCEPT

      上句話的意思是,只允許192.168.1.1的用戶通過(guò)ssh進(jìn)到服務(wù)器。不過(guò)這樣還是不安全,我們可以同時(shí)綁定訪問(wèn)者的mac,這樣就安全多了!

      > iptables -A INPUT -p tcp --dport 22 -m mac --mac 00:18:de:a5:83:c7 -s 192.168.1.10 -j ACCEPT

      最后腳本話一下:

      #!/bin/bash

      #DEFINE VARIABLES

      HTTP_PORT=80

      SECURE_HTTP_PORT=443

      ALLOWED_MAC=00:18:de:a5:83:c7

      SSH_PORT=22

      DNS_PORT=53

      ALLOWED_IP=192.168.1.10

      #FLUSH IPTABLES

      iptables -F

      iptables -X

      #DEFINE DEFAULT ACTION

      iptables -P INPUT DROP

      iptables -P OUTPUT DROP

      #DEFINE INPUT CHAINS

      iptables -A INPUT -p icmp --icmp-type any -j ACCEPT

      iptables -A INPUT -s localhost -d localhost -j ACCEPT

      iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -A INPUT -p tcp --dport $SSH_PORT -j ACCEPT

      diptables -A INPUT -p tcp --dport 22 -m mac --mac $ALLOWED_MAC -s $ALLOWED_IP -j ACCEPT

      #DEFINE OUTPUT CHAINS

      iptables -A OUTPUT -p icmp --icmp any -j ACCEPT

      iptables -A OUTPUT -s localhost -d localhost -j ACCEPT

      iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

      iptables -A OUTPUT -p tcp -m state --state NEW --dport $HTTP_PORT -j ACCEPT

      iptables -A OUTPUT -p tcp --dport $SECURE_HTTP_PORT -j ACCEPT

      iptables -A OUTPUT -p udp --dport $DNS_PORT -j ACCEPT

      iptables -A OUTPUT -p tcp --dport $SSH_PORT -j ACCEPT

      到這里一個(gè)簡(jiǎn)單的iptables就可以使用了,寫(xiě)的很簡(jiǎn)單,只是大家可以領(lǐng)悟一下iptables的基本實(shí)現(xiàn),寫(xiě)iptables就是要知道你要什么樣的需求,什么程序不重要,重要的是需要用什么端口,對(duì)端口寫(xiě)相應(yīng)的寫(xiě)出INPUT和OUTPUT的規(guī)則就可以了。

      IPtables防火墻制作方法二:

      構(gòu)筑防火墻之IPtables搭建防火墻的規(guī)則 一般情況下,iptables已經(jīng)包含在了Linux發(fā)行版中,可以運(yùn)行iptables --version來(lái)查看...并且大部分發(fā)行版都會(huì)有一個(gè)已經(jīng)預(yù)先配置好的防火墻。不同的發(fā)行版的配置文件位置不盡相同,我們可以使用命令locate

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

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

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

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

    4.Linux系統(tǒng)常用命令合集

    781332