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

iptables的啟動和關閉

運維 系統運維
iptables的啟動和關閉:iptables是Linux內核集成的IP信息包過濾系統,Linux上更好地控制IP信息包過濾和防火墻配置。那么該如何啟動和關閉iptables呢?本文講述的是iptables的啟動和關閉。

iptables啟動關閉:

  1.啟動和關閉iptables

  下面將正式使用iptables來創建防火墻。啟動和關閉iptables的方法取決于所使用的Linux發行版,可以先查看所使用Linux版本的文檔。

  一般情況下,iptables已經包含在Linux發行版中,運行iptables --version來查看系統是否安裝了iptables。在Red Hat 9.0中,安裝的版本是iptables v1.2.7a。如果系統沒有安裝iptables,則可以從netfilter官網下載。

  2.查看規則集

  上面僅對iptables的用法做了一個簡單介紹,使用中可以運行man iptables來查看所有命令和選項的完整介紹,或者運行iptables -help來查看一個快速幫助。要查看系統中現有的iptables規劃集,可以運行以下命令:

  1.   iptables --list  
  2.  

  下面是沒有定義規劃時iptables的樣子:

  1.   Chain INPUT (policy ACCEPT)  
  2.  
  3.   target prot opt source destination  
  4.  
  5.   Chain FORWARD (policy ACCEPT)  
  6.  
  7.   target prot opt source destination  
  8.  
  9.   Chain OUTPUT (policy ACCEPT)  
  10.  
  11.   target prot opt source destination  
  12.  

  如上例所示,每一個數據包都要通過三個內建的鏈(INPUT、OUTPUT和FORWARD)中的一個。

  filter是最常用的表,在filter表中最常用的三個目標是ACCEPT、DROP和REJECT。DROP會丟棄數據包,不再對其進行任何處理。REJECT會把出錯信息傳送至發送數據包的主機。

   iptables/啟動/關閉

 

圖1 Red Hat 9.0中安全設置的GUI工具

  在Red Hat 9.0中,提供一個GUI程序來讓用戶對系統的安裝級別進行簡單的配置。該工具的啟動方法是:主選單→系統設置→安全工具(如圖1所示)。在此將安全級別設為“高級”,并選擇使用默認的防火墻規則。點擊確定后,再用iptables -list顯示,發現iptables與沒有定義規則前已經有很大不同,如下所示:

 

  1.  [root@workstation root]# iptables --list  
  2.  
  3.   Chain INPUT (policy ACCEPT)  
  4.  
  5.   target prot opt source destination  
  6.  
  7.   RH-Lokkit-0-50-INPUT all -- anywhere anywhere  
  8.  
  9.   Chain FORWARD (policy ACCEPT)  
  10.  
  11.   target prot opt source destination  
  12.  
  13.   RH-Lokkit-0-50-INPUT all -- anywhere anywhere  
  14.  
  15.   Chain OUTPUT (policy ACCEPT)  
  16.  
  17.   target prot opt source destination  
  18.  
  19.   ......  
  20.  

  現實中一般不使用這個GUI工具,因為它的功能有限,也不夠透明。相比較而言,SuSE 9.0中相應的配置工具要好得多,它可以在GUI下對防火墻進行更加細化的配置(比如增加了IP轉發和偽裝等功能的配置)。盡管這樣,一般還是自己來增加和刪除規則。 

IPtables/啟動/關閉

圖2 SuSE 9.0中YaST配置工具中的防火墻設置

  3.增加規則

  本例中的規則將會阻止來自某一特定IP范圍內的數據包,因為該IP地址范圍被管理員懷疑有大量惡意攻擊者在活動:

  1.   # iptables -t filter -A INPUT -s 123.456.789.0/24 -j DROP  
  2.  

  也可以很輕易地阻止所有流向攻擊者IP地址的數據包,該命令稍有不同:

  1.   # iptables -t filter -A OUTPUT -d 123.456.789.0/24 -j DROP  
  2.  

  注意這里的A選項,如前所述,使用它說明是給現有的鏈添加規則。

  4.刪除規則

  網絡上的惡意攻擊者總是在變化的,因此需要不斷改變IP。假設一個網上攻擊者轉移到新的IP地址,而其老的IP地址被分配給一些清白的用戶,那么這時這些用戶的數據包將無法通過你的網絡。這種情況下,可以使用帶-D選項的命令來刪除現有的規則:

  1.   # iptables -t filter -D OUTPUT -d 123.456.789.0/24 -j DROP  
  2.  

  5.缺省的策略

  創建一個具有很好靈活性、可以抵御各種意外事件的規則需要大量的時間。對于那些沒有時間這樣做的人,最基本的原則是“先拒絕所有的數據包,然后再允許需要的”。下面來為每一個鏈設置缺省的規則:

  1.   # iptables -P INPUT DROP  
  2.  
  3.   # iptables -P FORWARD DROP  
  4.  
  5.   # iptables -P OUTPUT ACCEPT  
  6.  

  這里選項-P用于設置鏈的策略,只有三個內建的鏈才有策略。這些策略可以讓信息毫無限制地流出,但不允許信息流入。很多時候需要接收外部信息,則可使用以下命令:

  1.   # iptables -t filter -A INPUT -s 123.456.789.0/24 -j ACCEPT  
  2.  

  6.SYN的使用

  不能關閉所有端口,也不能只指定某些端口處于打開狀態,那么怎樣才能設置一個有效的規則,既可以允許普通用戶正常通過,又可以阻止惡意攻擊者訪問網絡呢?

  剛開始使用iptables的人可以充分利用syn標識來阻止那些未經授權的訪問。iptables只檢測數據包的報頭,事實上,除iptables以外,很多其它有用的數據包分析都是基于報頭的。比如,在進行Web沖浪時,一個請求從你的PC發送至其它地方的Web服務器上,該服務器會響應請求并發回一個數據包,同時得到你系統上的一個臨時端口。與響應請求不同的是,服務器并不關心所傳送的內容。可以利用這種特點來設置規則,讓它阻止所有沒有經過你系統授權的TCP連接:

  1.   # iptables -t filter -A INPUT -i eth0 -p tcp --syn -j DROP  
  2.  

  這里的-i指的是網卡,-p則是指協議,--syn則表示帶有syn標識設置的TCP數據包。SYN用于初始化一個TCP連接,如果自己機器上沒有運行任何服務器,別人也就不會向你發送SYN數據包。

  7.有狀態的數據包的檢測

  前邊的例子把每一個數據包看成是獨立的,而不是相互關聯的,依靠的是數據包的頭信息。iptables會檢查數據包的源和目的IP地址、源和目的端口、流入數據包的順序號、TCP先后順序的信息及頭標記(SYN、ACK、FIN、RST等)的狀態,即它會跟蹤整個連接會話,從而使整個過濾過程是相互關聯的。

  8.共享一個Internet連接

  網絡地址翻譯和IP偽裝都可以實現多臺主機共享一個Internet連接,這個局域網可以是Linux和Windows系統組成的多系統局域網。假設現在有一臺機器,配有兩個網卡,其中eth0為“公共”網卡,eth1為“私有”網卡,即eth0被分配了一個靜態的、可路由的IP地址,而eth1被分配了一個私有的、不能路由的IP,該IP是屬于該局域網子網的。要實現上述功能,需要向nat和filter表中添加一些鏈:

  1.   # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  
  2.  
  3.   # iptables -t filter -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT  
  4.  
  5.   # iptables -t filter -A FORWARD -i eth1 -o eth0 -j ACCEPT  
  6.  

  這顯示了有狀態的數據包檢測的價值。請注意,這里是如何實現流入數據包只有在屬于一個已經存在的連接時才被允許,而所有來自局域網內流向外的數據包則都允許通過。第一條規則讓所有流出的信息看起來都是來自防火墻機器的,而并不會顯示出防火墻后面還有一個局域網。

  下面的命令為FORWARD和POSTROUTING鏈設置缺省的策略,在使用偽裝時,有一個缺省的POSTROUTING DROP策略非常重要,否則就可能有心懷惡意的用戶突破網關后偽裝自己的身份。

  1.   # iptables -t filter -P FORWARD DROP  
  2.  
  3.   # iptables -t nat -P POSTROUTING DROP  
  4.  

  下面的命令為撥號連接設置,它可以動態地分配IP地址:

  1.   # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE  
  2.  

  9.運行服務器時的情況

  有時也會把服務器放置在防火墻后面,這時iptables就需要知道從哪兒通過數據包,設置如下所示:

  1.   # iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 80 -j DNAT -to 192.168.0.10:80  
  2.  
  3.   # iptables -t nat -A PREROUTING -i eth0 -p tcp -dport 25 -j DNAT -to 192.168.0.11:25  
  4.  

  10.規則的保存

  到現在為止,所有的例子都是在命令行中進行的。在測試新的規則時,這是一種很好的方式,但一旦測試結果令人滿意,就可以將它們保存為腳本。可以使用 iptables-save 命令來實現:

  1.   $ iptables-save > iptables-script  
  2.  

  信息包過濾表中的所有規則都被保存在文件iptables-script中。無論何時再次引導系統,都可以使用iptables-restore命令將規則集從該腳本文件恢復到信息包過濾表。恢復命令如下所示:

  1.   $ iptables-restore iptables-script  
  2.  

  如果愿意在每次引導系統時自動恢復該規則集,則可以將上面指定的這條命令放到任何一個初始化Shell腳本中。

  下面的例子并不是一個完整的腳本,它只是描述了如何使用變量及提供了一些附加的規則樣例。

  1.   #!/bin/sh   

      #為變量賦值

      IPTABLES=/sbin/iptables

      LAN_NET="192.168.1.0/24"

      IFACE= "eth0"

      LO_IFACE="lo"

      LO_IP="127.0.0.1"

      #加載所需的內核

      /sbin/modprobe ip_conntrack

      /sbin/modprobe iptable_nat

      #缺省情況下,IP轉發都處于不可用狀態,將其設置為可用狀態:

      echo "1" > /proc/sys/net/ipv4/ip_forward

      #使IP的動態分配功能可用

      echo "1" > /proc/sys/net/ipv4/ip_dynaddr

      #每次重啟這個腳本時,最好清除以前所設的規則

      $IPTABLES -P INPUT DROP

      $IPTABLES -F INPUT

      $IPTABLES -P OUTPUT ACCEPT

      $IPTABLES -F OUTPUT

      $IPTABLES -P FORWARD DROP

      $IPTABLES -F FORWARD

      $IPTABLES -F -t nat

      #只允許在LAN中使用SSH連接

      $IPTABLES -A INPUT -s LAN_NET -p tcp --destination-port ssh -j ACCEPT

      #允許loopback!

      $IPTABLES -A INPUT -i lo -p all -j ACCEPT

      $IPTABLES -A OUTPUT -o lo -p all -j ACCEPT

      #丟棄那些流入的宣稱是來自本地機器的數據包

      #丟棄那些流出的不是出自本地機的數據包

      $IPTABLES -A INPUT -i $IFACE -s $LAN_NET -j DROP

      $IPTABLES -A OUTPUT -o $IFACE -s ! $LAN_NET -j DROP

      #限制一些流出的信息
     

 iptables的啟動和關閉就講述到這里啦。

【編輯推薦】

Linux下用iptables上網

使用Iptables進行并發連接限制

如何用IPtables限制網絡流量

責任編輯:zhaolei 來源: 開放系統世界
相關推薦

2011-03-16 15:09:44

關閉iptables

2011-03-16 14:55:36

關閉iptables

2011-03-16 15:23:39

UBUNTU關閉iptables

2010-10-21 15:52:50

sql server服

2011-02-22 14:19:28

vsFTPd啟動關閉

2011-02-24 09:57:40

vsFTPd啟動關閉

2010-11-19 15:25:48

關閉Oracle服務

2022-05-17 08:44:33

數據庫MySQL

2011-03-16 15:52:04

關閉iptables

2010-02-24 13:55:18

Fedora vsFT

2011-03-15 09:10:42

Linux防火墻Iptables

2011-02-21 17:58:40

vsFTPd

2011-03-14 13:11:07

Oracle數據庫

2010-10-19 11:33:19

SQLServer命令

2010-01-13 17:00:54

CentOS MySQ

2010-04-15 18:39:56

Unix操作系統

2010-11-15 10:30:04

Oracle數據庫啟動

2011-03-01 13:18:59

vsFTPd啟動關閉

2011-03-15 10:34:51

Iptables命令

2011-03-18 09:26:13

Iptables規則
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久免费丝袜 | 欧美日韩亚洲系列 | 欧美 日韩 国产 一区 | 久草新视频 | 福利片在线 | 国产精品一区二区视频 | 精品欧美乱码久久久久久1区2区 | 男女污污动态图 | 男人的天堂在线视频 | 玖玖综合网 | 九九九视频 | 久久一区二区三区四区 | 黄色成人在线 | 国产精品永久免费 | 久久精品二区亚洲w码 | 久久国产精品一区二区三区 | 亚洲国产欧美精品 | 人人澡视频| 91亚洲欧美 | 欧美色综合 | www.中文字幕.com | 国产真实精品久久二三区 | 中文字幕男人的天堂 | 欧美日韩在线一区二区三区 | 欧美日韩高清在线一区 | 成人av在线大片 | 国产日韩精品一区 | 成人黄色在线视频 | 日韩欧美精品 | 天天拍天天操 | 久久99精品视频 | 一级黄色片日本 | 国产精品99久久久久久宅男 | 婷婷桃色网 | 日韩国产一区 | 国产日韩欧美二区 | 精品免费国产一区二区三区四区 | 精品成人| 金莲网 | 国产精品日韩欧美一区二区三区 | 久久综合一区二区三区 |