成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ubuntu防火墻iptables使用指南

系統 Linux
在你使用ubuntu時有沒注意下自己的防火墻措施,是不是覺得他都沒問題就不管了,其實不然,許多問題都處在防火墻上,但是你要在ubuntu防火墻下安裝iptables,那就什么問題也沒了,下面介紹下他的具體步驟!

ubuntu防火墻iptables使用教程如下:

  1、iptables介紹

  iptables是復雜的,它集成到linux內核中。用戶通過iptables,可以對進出你的計算機的數據包進行過濾。通過iptables命令設置你的規則,來把守你的計算機網絡──哪些數據允許通過,哪些不能通過,哪些通過的數據進行記錄(log)。接下來,我將告訴你如何設置自己的規則,從現在就開始吧。

  2、初始化工作

  在shell提示符 # 下打入

  iptables -F

  iptables -X

  iptables -t nat -F

  iptables -t nat -X

  以上每一個命令都有它確切的含義。一般設置你的iptables之前,首先要清除所有以前設置的規則,我們就把它叫做初始化好了。雖然很多情況下它什么也不做,但是保險起見,不妨小心一點吧! 如果你用的是redhat 或fedora,那么你有更簡單的辦法

  service iptables stop

  3、開始設置規則:

  接下下開始設置你的規則了

  iptables -P INPUT DROP

  這一條命令將會為你構建一個非常“安全”的防火墻,我很難想象有哪個hacker能攻破這樣的機器,因為它將所有從網絡進入你機器的數據丟棄 (drop) 了。這當然是安全過頭了,此時你的機器將相當于沒有網絡。如果你ping localhost,你就會發現屏幕一直停在那里,因為ping收不到任何回應。

  4 、添加規則

  接著上文繼續輸入命令:

  iptables -A INPUT -i ! ppp0 -j ACCEPT

  這條規則的意思是:接受所有的,來源不是網絡接口ppp0的數據。

  我們假設你有兩個網絡接口,eth0連接局域網,loop是回環網(localhost)。ppp0是一般的adsl上網的internet網絡接口,如果你不是這種上網方式,那則有可能是eth1。在此我假設你是adsl上網,你的internet接口是ppp0

  此時你即允許了局域網的訪問,你也可以訪問localhost

  此時再輸入命令 ping localhost,結果還會和剛才一樣嗎?

  到此我們還不能訪問www,也不能mail,接著看吧。

#p#

  5、我想訪問www

  iptables -A INPUT -i ppp0 -p tcp -sport 80 -j ACCEPT

  允許來自網絡接口ppp0(internet接口),并且來源端口是80的數據進入你的計算機。

  80端口正是www服務所使用的端口。

  好了,現在可以看網頁了。但是,你能看到嗎?

  如果你在瀏覽器的地址中輸入www.baidu.com,能看到網頁嗎?

  你得到的結果一定是:找不到主機www.baidu.com

  但是,如果你再輸入220.181.27.5,你仍然能夠訪問baidu的網頁。

  為什么?如果你了解dns的話就一定知道原因了。

  因為如果你打入www.baidu.com,你的電腦無法取得www.baidu.com這個名稱所能應的ip地址220.181.27.5。如 果你確實記得這個ip,那么你仍然能夠訪問www,你當然可以只用ip來訪問www,如果你想挑戰你的記憶的話^ _ ^,當然,我們要打開DNS。

  6、打開dns端口

  打開你的dns端口,輸入如下命令:

  iptables -A INPUT -i ppp0 -p udp -sport 53 -j ACCEPT

  這條命令的含義是,接受所有來自網絡接口ppp0,upd協議的53端口的數據。53也就是著名的dns端口。

  此時測試一下,你能通過主機名稱訪問www嗎?你能通過ip訪問www嗎?

  當然,都可以!

  7、查看防火墻

  此時可以查看你的防火墻了

  iptables -L

  如果你只想訪問www,那么就可以到此為止,你將只能訪問www了。 不過先別急,將上面講的內容總結一下,寫成一個腳本。

  #!/bin/bash

  # This is a script

  # Edit by liwei

  # establish static firewall

  iptables -F

  iptables -X

  iptables -t nat -F

  iptables -t nat -X

  iptables -P INPUT DROP

  iptables -A INPUT -i ! ppp0 -j ACCEPT

  iptables -A INPUT -i ppp0 -p tcp –sport 80 -j ACCEPT

  iptables -A INPUT -i ppp0 -p udp –sport 53 -j ACCEPT

  8、復雜嗎?到此iptables可以 按你的要求進行 包過濾了。你可以再設定一些端口,允許你的機器訪問這些端口。這樣有可能,你不能訪問QQ,也可能不能打網絡游戲,是好是壞,還是要看你自己而定了。順便 說一下,QQ這個東西還真是不好控制,用戶與服務器連接使用的好像是8888端口,而QQ上好友互發消息使用的又是udp的4444端口(具體是不是 4444還不太清楚)。而且QQ還可以使用www的80端口進行登錄并發消息,看來學無止境,你真的想把這個家伙控制住還不容易呢?還是進入我們的正題 吧。

  如果你的機器是服務器,怎么辦?

  9、如果不巧你的機器是服務器,并且要提供www服務。顯然,以上的腳本就不能符合我們的要求了。但只要你撐握了規則,稍作修改同樣也能很好的工作。在***面加上一句

  iptables -A INPUT -i ppp0 -p tcp –dport 80 -j ACCEPT

  這一句也就是將自己機器上的80端口對外開放了,這樣internet上的其他人就能訪問你的www了。當然,你的www服務器得工作才行。如果 你的機器同時是smtp和pop3服務器,同樣的再加上兩條語句,將–dport后面的80改成25和110就行了。如果你還有一個ftp服務器,呵 呵,如果你要打開100個端口呢……

  我們的工作好像是重復性的打入類似的語句,你可能自己也想到了,我可以用一個循環語句來完成,對,此處可以有效的利用shell腳本的功能,也讓你體驗到了shell腳本語言的威力。看下文:

  10、用腳本簡化你的工作,閱讀下面的腳本

 

  1.   #!/bin/bash  
  2.  
  3.   # This is a script  
  4.  
  5.   # Edit by liwei  
  6.  
  7.   # establish a static firewall  
  8.  
  9.   # define const here  
  10.  

 

  Open_ports="80 25 110 10" # 自己機器對外開放的端口

  Allow_ports="53 80 20 21" # internet的數據可以進入自己機器的端口

  #init

  iptables -F

  iptables -X

  iptables -t nat -F

  iptables -t nat -X

  iptables -P INPUT DROP #we can use another method to instead it

  iptables -A INPUT -i ! ppp0 -j ACCEPT

  # define ruler so that some data can come in.

  for Port in "$Allow_ports" ; do

  iptables -A INPUT -i ppp0 -p tcp -sport $Port -j ACCEPT

  iptables -A INPUT -i ppp0 -p udp -sport $Port -j ACCEPT

  done

  for Port in "$Open_ports" ; do

  iptables -A INPUT -i ppp0 -p tcp -dport $Port -j ACCEPT

  iptables -A INPUT -i ppp0 -p udp -dport $Port -j ACCEPT

  done

  這個腳本有三個部分(最前面的一段是注釋,不算在這三部分中)

  ***部分是定義一些端口:訪問你的機器"Open_ports"端口的數據,允許進入;來源是"Allow_ports"端口的數據,也能夠進入。

  第二部分是iptables的初始化,第三部分是對定義的端口具體的操作。

  如果以后我們的要求發生了一些變化,比如,你給自己的機器加上了一個ftp服務器,那么只要在***部分"Open_ports"的定義中,將ftp對應的20與21端口加上去就行了。呵呵,到此你也一定體會到了腳本功能的強大的伸縮性,但腳本的能力還遠不止這些呢!

#p#

  11、使你的防火墻更加完善

  看上面的腳本init部分的倒數第二句

  iptables -P INPUT DROP

  這是給防火墻設置默認規則。當進入我們計算機的數據,不匹配我們的任何一個條件時,那么就由默認規則來處理這個數據—-drop掉,不給發送方任何應答。

  也就是說,如果你從internet另外的一臺計算機上ping你的主機的話,ping會一直停在那里,沒有回應。

  如果黑客用namp工具對你的電腦進行端口掃描,那么它會提示黑客,你的計算機處于防火墻的保護之中。我可不想讓黑客對我的計算機了解太多,怎么辦,如果我們把drop改成其他的動作,或許能夠騙過這位剛出道的黑客呢。

  怎么改呢?將剛才的那一句( iptables -P INPUT DROP )去掉,在腳本的***面加上

  iptables -A INPUT -i ppp0 -p tcp -j REJECT –reject-with tcp-reset

  iptables -A INPUT -i ppp0 -p udp -j REJECT –reject-with icmp-port-unreachable

  這樣就好多了,黑客雖然能掃描出我們所開放的端口,但是他卻很難知道,我們的機器處在防火墻的保護之中。如果你只運行了ftp并且僅僅對局域網內 部訪問, 他很難知道你是否運行了ftp。在此我們給不應該進入我們機器的數據,一個欺騙性的回答,而不是丟棄(drop)后就不再理會。這一個功能,在我們設計有 狀態的防火墻中(我這里講的是靜態的防火墻)特別有用。

  你可以親自操作一下,看一看修改前后用namp掃描得到的結果會有什么不同?

  12、這個教程我想到此就結束了,其中有很多東西在這里沒有提到,如ip偽裝,端口轉發,對數據包的記錄功能。還有一個很重要的東西就是: iptables處理數據包的流程.在這里我想告訴你,你設置的過濾規則的順序很重要,在此不宜詳細介紹,因為這樣一來,這個教程就會拘泥于細節。

  iptables是復雜的,我在linuxsir上看過很多教程,它們往往多而全,反而讓人望而生畏,希望我的這個教程,能夠指導你入門。加油!

  ***,我把完整的腳本寫出來如下,你只要修改常量定義部分,就能表現出較大的伸縮性^_^

  #!/bin/bash

  # This is a script

  # Edit by liwei

  # establish a static firewall

  # define const here

  Open_ports="80 25 110 10" # 自己機器對外開放的端口

  Allow_ports="53 80 20 21" # internet的數據可以進入自己機器的端口

  #init

  iptables -F

  iptables -X

  iptables -t nat -F

  iptables -t nat -X

  # The follow is comment , for make it better

  # iptables -P INPUT DROP

  iptables -A INPUT -i ! ppp0 -j ACCEPT

  # define ruler so that some data can come in.

  for Port in "$Allow_ports" ; do

  ptables -A INPUT -i ppp0 -p tcp -sport $Port -j ACCEPT

  iptables -A INPUT -i ppp0 -p udp -sport $Port -j ACCEPT

  done

  for Port in "$Open_ports" ; do

  iptables -A INPUT -i ppp0 -p tcp -dport $Port -j ACCEPT

  iptables -A INPUT -i ppp0 -p udp -dport $Port -j ACCEPT

  done

  # This is the last ruler , it can make you firewall better

  iptables -A INPUT -i ppp0 -p tcp -j REJECT –reject-with tcp-reset

  iptables -A INPUT -i ppp0 -p udp -j REJECT –reject-with icmp-port-unreachable

通過文章的教程介紹,我們進一步為自己的ubuntu防火墻注入新的活力,快試試iptables吧!

【編輯推薦】

責任編輯:趙鵬 來源: 網絡轉載
相關推薦

2011-03-15 09:10:43

iptables防火墻

2011-03-16 10:12:32

2011-03-15 15:47:26

LinuxIptables防火墻

2011-03-17 16:00:57

2011-03-15 15:47:15

Iptables防火墻

2011-03-15 16:35:27

2011-03-15 17:12:11

2011-03-15 17:18:45

2011-03-17 10:58:55

Linux防火墻Iptables入門

2018-07-02 09:18:11

Linuxiptables防火墻

2011-03-16 12:46:29

CentOSiptables防火墻

2011-03-15 17:38:24

2011-03-15 10:48:47

2010-01-07 14:12:11

Linux防火墻

2009-11-14 22:50:29

2011-03-16 15:58:40

Iptables防火墻

2011-03-15 17:25:38

2011-03-15 09:10:42

Linux防火墻Iptables

2011-03-16 16:23:23

保存iptables防火墻

2010-08-03 09:39:45

路由器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天干天天操天天爽 | 久久精品国产一区 | 日韩在线视频观看 | 国产日韩视频 | 成年人在线观看视频 | 欧美一区二区三区在线视频 | 亚洲视频在线免费观看 | 国产一区二区高清在线 | 精品一区二区三区日本 | 在线看一区二区 | 81精品国产乱码久久久久久 | 精品久久久久一区二区国产 | 国产羞羞视频在线观看 | 日韩久久久久 | 亚洲国产高清高潮精品美女 | 色资源在线观看 | 午夜丁香视频在线观看 | 91av视频在线| 中文字幕一区二区三 | 91高清视频在线观看 | 亚洲成av人片在线观看无码 | 久久久久久网站 | 欧美一区二区久久 | 国产精品一区二区欧美 | 999re5这里只有精品 | 亚洲人成在线观看 | 日韩毛片免费视频 | 在线免费观看a级片 | 日韩福利 | 午夜欧美| 日韩成人在线免费观看 | 国产高清视频 | 中文字幕免费 | 啪啪网页 | 激情五月婷婷综合 | 午夜电影福利 | 国产一二区视频 | 一级免费看 | 国产成人99| 国产色| 国产精品久久久久一区二区 |