不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 學習電腦 > 電腦安全 > 防火墻知識 > IPtables防火墻如何制作

IPtables防火墻如何制作

時間: 林輝766 分享

IPtables防火墻如何制作

  想自己動手制作一個IPtables防火墻,該怎么辦呢?下面由學習啦小編給你做出詳細的IPtables防火墻制作方法介紹!希望對你有幫助!

  IPtables防火墻制作方法一:

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

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

  make && make install 就可以了。本文重點在如何step by step

  簡歷一個自己的iptables防火墻。

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

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

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

  以上兩條的含義你可以簡單的認為是iptables的初始化命令,無需深入。

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

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

  > iptables -P INPUT DROP

  > iptables -P OUTPUT DROP

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

  第一句的意思是:

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

  第二句的意思是:

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

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

  首先寫下這6句話:

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

  允許icmp包進入

  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ù)包進入

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

  允許icmp包出去

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

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

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

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

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

  如果我的電腦是一臺web服務器的話,別人也沒有辦法訪問,怎樣才能讓別人能訪問我的web呢?很簡單,打開80端口。

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

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

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

  這樣別人就能訪問你的web了。

  但是如果你想訪問別人的web怎么辦呢?打開出去的80端口吧!

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

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

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

  可以了么?試試看~還是不可以???為什么呢???對了,你可能想到了DNS端口沒有打開怎么訪問域名服務器呢?下面我們打開DNS端口吧!

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

  OK,這樣就能訪問別人的web站點了,不過如果你要訪問https的站點,打開443端口吧,這里我就不寫了,你可以自己試一下,提示一下,在OUTPUT中寫。

  為了方便管理,我們可能還要經(jīng)常ssh到這臺服務器上去,那么打開22號端口吧!

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

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

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

  但是我只允許一個固定的ip能ssh到我的服務器上來怎么辦呢?上句改成:

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

  上句話的意思是,只允許192.168.1.1的用戶通過ssh進到服務器。不過這樣還是不安全,我們可以同時綁定訪問者的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

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

  IPtables防火墻制作方法二:

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

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

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

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

3.CentOS6.5怎么樣設置

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

781332