iptables 學習

iptables命令格式web

iptables的命令格式較爲複雜,通常的格式以下:
iptables [-t table] 命令 [chain] [rules] [-j target]
table——指定代表
命令——對鏈的操做命令
chain——鏈名
rules——規則
target——動做如何進行
       1.表選項
表選項用於指定命令應用於哪一個iptables內置表,iptables內置包括filter表、nat表、mangle表和raw表,其中filter表是默認表
       2.命令選項iptables命令格式
服務器

命令                     說明
-A或—append  <鏈名>     在規則列表的最後增長1條規則
-I或–insert  <鏈名>     在指定的位置插入1條規則
-D或–delete  <鏈名>     從規則列表中刪除1條規則
-R或–replace  <鏈名>     替換規則列表中的某條規則
-F或–flush  <鏈名>     刪除表中全部規則
-Z或–zero  <鏈名>     將表中數據包計數器和流量計數器歸零
網絡

3.匹配選項app

匹配                                     說明
-i或–in-interface  <網絡接口名>     指定數據包從哪一個網絡接口進入,如ppp0、eth0和eth1等
-o或–out-interface  <網絡接口名>     指定數據包從哪塊網絡接口輸出,如ppp0、eth0和eth1等
-p或—proto協議類型  < 協議類型>     指定數據包匹配的協議,如TCP、UDP和ICMP等
-s或–source  <源地址或子網>             指定數據包匹配的源地址
–sport <源端口號>                     指定數據包匹配的源端口號,可使用「起始端口號:結束端口號」的格式指定一個範圍的端口
-d或–destination  <目標地址或子網>     指定數據包匹配的目標地址
–dport目標端口號                     指定數據包匹配的目標端口號,可使用「起始端口號:結束端口號」的格式指定一個範圍的端口
ssh

4.動做選項
動做        說明
ACCEPT        接受數據包
DROP        丟棄數據包
REDIRECT   與DROP基本同樣,區別在於它除了阻塞包以外, 還向發送者返回錯誤信息。
SNAT        源地址轉換,即改變數據包的源地址
DNAT        目標地址轉換,即改變數據包的目的地址
MASQUERADE IP假裝,便是常說的NAT技術,MASQUERADE只能用於ADSL等撥號上網的IP假裝,也就是主機的IP是由ISP分配動態的;若是主機的IP地址是靜態固定的,就要使用SNAT
LOG        日誌功能,將符合規則的數據包的相關信息記錄在日誌中,以便管理員的分析和排錯
tcp

5.  filter ,nat ,mangle ,raw 這四個表對應的鏈選項ide

    filter,用於路由網絡數據包。spa

INPUT 網絡數據包流向服務器rest

OUTPUT 網絡數據包從服務器流出日誌

FORWARD 網絡數據包經服務器路由

    nat,用於NAT表.NAT(Net Address Translation )是一種IP地址轉換方法。

PREROUTING 網絡數據包到達服務器時能夠被修改

POSTROUTING 網絡數據包在即將從服務器發出時能夠被修改

OUTPUT 網絡數據包流出服務器

    mangle,用於修改網絡數據包的表,如TOS(Type Of Service),TTL(Time To Live),等

INPUT 網絡數據包流向服務器

OUTPUT 網絡數據包流出服務器

FORWARD 網絡數據包經由服務器轉發

PREROUTING 網絡數據包到達服務器時能夠被修改

POSTROUTING 網絡數據包在即將從服務器發出時能夠被修改

    raw, 用於決定數據包是否被跟蹤機制處理

OUTPUT 網絡數據包流出服務器

PREROUTING 網絡數據包到達服務器時能夠被修改

   

   iptables -L  --默認看的就是filter表

   iptables -L -t filter

   iptables -L -t  nat
   iptables -L -t   mangle
   iptables -L -t   raw
G

對ping的控制  ICMP 在傳輸層是基於tcp的,因此是雙向的,能夠對其input或ouput均可以控制

禁止ping本機 Linux (192.168.254.252)

iptables -A INPUT -p icmp -j REJECT

刪除這條規則 ,能夠先 使用這條命令 iptables -L -n --line

                      再使用 iptables -D INPUT +對應的規則號碼

刪除整條規則命令 iptables -F

無返回信息 iptables -A INPUT -p icmp -j DROP

只容許192.168.254.222 ping 本機 ,其餘都拒絕

  iptables -A INPUT -p icmp -j REJECT

  iptables -A INPUT -s 192.168.254.222 -p icmp -j ACCEPT

規則的保存與還原
  /etc/init.d/iptables save --這樣是默認保存到/etc/sysconfig/iptables
  iptables-save > /etc/sysconfig/iptables--將當前規則保存到這個文件,文件能夠自定義

  iptables -F
  iptables -X
  iptables -Z --使用這三條來清空filter表,若是別的表也要清空的話,就加-t 表名都清一次

  iptables-restore < /etc/sysconfig/iptables --把保存的規則還原回去

  /etc/sysconfig/iptables文件爲默認保存文件,重啓iptables服務會默認把此文件裏的規則還原

  固然也能夠手工保存到另外一個文件,就須要iptables-restore手工還原了

實現容許ssh過來,ssh出去,別的都拒絕  (要求,INPUT和OUTPUT雙鏈默認策略都爲DROP)

  iptables -P INPUT DROP (P 是默認策略)
  iptables -P OUTPUT DROP

下面兩條定義容許ssh進來
  iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

下面兩條定義容許ssh出去   iptables -A INPUT -p tcp --sport 22 -j ACCEPT   iptables -A OUTPUT -p tcp --dport 22 -j ACCEP

相關文章
相關標籤/搜索