国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 網(wǎng)絡(luò)通信 > 正文

從理論到實(shí)踐:iptables使用時(shí)的樣板

2019-11-04 10:32:47
字體:
供稿:網(wǎng)友

  在設(shè)定 iptables 的封包過濾規(guī)則時(shí),有幾個(gè)樣板的動(dòng)作,若先熟悉它們,往后就可自行套用,依此類推,很快地,您就可以進(jìn)入這個(gè)天地之中。
  
  觀察目前的設(shè)定
  作法如下∶
  
  iptables -L -n
  iptablse -t nat -L -n
  
  定義變數(shù)
  FW_IP="163.26.197.8"
  
  打開核心 forward 功能
  作法如下∶
  
  ###-----------------------------------------------------###
  # 打開 forward 功能
  ###-----------------------------------------------------###
  
  echo "1" > /PRoc/sys/net/ipv4/ip_forward
  
  清除所有的規(guī)則
  一開始要先清除所有的規(guī)則,重新開始,以免舊有的規(guī)則影響新的設(shè)定。作法如下∶
  
  ###-----------------------------------------------------###
  # 清除先前的設(shè)定
  ###-----------------------------------------------------###
  # 清除預(yù)設(shè)表 filter 中,所有規(guī)則鏈中的規(guī)則
  iptables -F
  # 清除預(yù)設(shè)表 filter 中,使用者自訂鏈中的規(guī)則
  iptables -X
  
  # 清除mangle表中,所有規(guī)則鏈中的規(guī)則
  iptables -F -t mangle
  # 清除mangle表中,使用者自訂鏈中的規(guī)則
  iptables -t mangle -X
  
  # 清除nat表中,所有規(guī)則鏈中的規(guī)則
  iptables -F -t nat
  # 清除nat表中,使用者自訂鏈中的規(guī)則
  iptables -t nat -X
  
  選定預(yù)設(shè)的政策
  接著,要選定各個(gè)不同的規(guī)則鏈,預(yù)設(shè)的政策為何。作法如下∶
  
  預(yù)設(shè)全部丟棄∶
  
  ###-----------------------------------------------------###
  # 設(shè)定 filter table 的預(yù)設(shè)政策
  ###-----------------------------------------------------###
  iptables -P INPUT DROP
  iptables -P OUTPUT DROP
  iptables -P FORWARD DROP
  
  或者預(yù)設(shè)全部接受∶
  
  ###-----------------------------------------------------###
  # 設(shè)定 filter table 的預(yù)設(shè)政策
  ###-----------------------------------------------------###
  iptables -P INPUT ACCEPT
  iptables -P OUTPUT ACCEPT
  iptables -P FORWARD ACCEPT
  
  各個(gè)規(guī)則鏈的預(yù)設(shè)政策可獨(dú)立自主的設(shè)定,不必受其它鏈的影響。
  
  以下練習(xí),若目標(biāo)為 DROP,則 policy 請?jiān)O(shè)為 ACCEPT;若目標(biāo)為 ACCEPT,則 policy 請?jiān)O(shè)為 DROP,如此方可看出效果。
  
  開放某一個(gè)介面
  作法如下∶
  
  iptables -A INPUT -i lo -j ACCEPT
  iptables -A OUTPUT -o lo -j ACCEPT
  
  注∶IPFW 或 Netfilter 的封包流向,local process 不會經(jīng)過 FORWARD Chain,
  因此 lo 只在 INPUT 及 OUTPUT 二個(gè) chain 作用。
  
  iptables -A INPUT -i eth1 -j ACCEPT
  iptables -A OUTPUT -o eth1 -j ACCEPT
  iptables -A FORWARD -i eth1 -j ACCEPT
  iptables -A FORWARD -o eth1 -j ACCEPT
  
  IP 偽裝
  使內(nèi)部網(wǎng)路的封包經(jīng)過偽裝之后,使用對外的 eth0 網(wǎng)卡當(dāng)作代表號,對外連線。作法如下∶
  
  ###-----------------------------------------------------###
  # 啟動(dòng)內(nèi)部對外轉(zhuǎn)址
  ###-----------------------------------------------------###
  
  iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source $FW_IP
  
  上述指令意指∶把 172.16.0.0/16 這個(gè)網(wǎng)段,偽裝成 $FW_IP 出去。
  
  虛擬主機(jī)
  利用轉(zhuǎn)址、轉(zhuǎn) port 的方式,使外部網(wǎng)路的封包,可以到達(dá)內(nèi)部網(wǎng)路中的伺服主機(jī),俗稱虛擬主機(jī)。這種方式可保護(hù)伺服主機(jī)大部份的 port 不被外界存取,只開放公開服務(wù)的通道(如 Web Server port 80),因此安全性甚高。
  
  作法如下∶
  
  ###-----------------------------------------------------###
  # 啟動(dòng)外部對內(nèi)部轉(zhuǎn)址
  ###-----------------------------------------------------###
  # 凡對 $FW_IP:80 連線者, 則轉(zhuǎn)址至 172.16.255.2:80
  iptables -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination 172.16.255.2:80
  
  開放內(nèi)部主機(jī)可以 telnet 至外部的主機(jī)
  開放內(nèi)部網(wǎng)路,可以 telnet 至外部主機(jī)。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open 外部主機(jī) telnet port 23
  ###-----------------------------------------------------###
  
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT
  
  開放郵包轉(zhuǎn)遞通道
  開放任意的郵件主機(jī)送信包給你的 Mail Server,而你的 Mail Server 也可以送信包過去。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open SMTP port 25
  ###-----------------------------------------------------###
  
  # 以下是∶別人可以送信給你
  iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 25 -j ACCEPT
  iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 25 -d any/0 --dport 1024:65535 -j ACCEPT
  
  # 以下是∶你可以送信給別人
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT
  
  開放對外離線下載信件的通道
  開放內(nèi)部網(wǎng)路可以對外部網(wǎng)路的 POP3 server 取信件。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open 對外部主機(jī)的 POP3 port 110
  ###-----------------------------------------------------###
  
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT
  
  開放觀看網(wǎng)頁的通道
  開放內(nèi)部網(wǎng)路可以觀看外部網(wǎng)路的網(wǎng)站。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open 對外部主機(jī)的 HTTP port 80
  ###-----------------------------------------------------###
  
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT
  
  開放查詢外部網(wǎng)路的 DNS 主機(jī)
  開放內(nèi)部網(wǎng)路,可以查詢外部網(wǎng)路任何一臺 DNS 主機(jī)。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open DNS port 53
  ###-----------------------------------------------------###
  
  # 第一次會用 udp 封包來查詢
  iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
  iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT
  
  # 若有錯(cuò)誤,會改用 tcp 封包來查詢
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT
  
  # 開放這臺主機(jī)上的 DNS 和外部的 DNS 主機(jī)互動(dòng)查詢∶使用 udp
  iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
  iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT
  # 開放這臺主機(jī)上的 DNS 和外部的 DNS 主機(jī)互動(dòng)查詢∶使用 tcp
  iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
  iptables -A INPUT -i eth0 -p tcp ! -y -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT
  
  開放內(nèi)部主機(jī)可以 ssh 至外部的主機(jī)
  開放內(nèi)部網(wǎng)路,可以 ssh 至外部主機(jī)。
  
  作法如下∶(預(yù)設(shè) policy 為 DROP)
  
  ###-----------------------------------------------------###
  # open 外部主機(jī) ssh port 22
  ###------------------------------------


上一篇:分用

下一篇:互聯(lián)網(wǎng)的地址

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平阳县| 长武县| 沛县| 临武县| 武陟县| 邯郸县| 定州市| 大港区| 鹿泉市| 陇川县| 甘谷县| 安徽省| 汉中市| 前郭尔| 密山市| 额敏县| 吴川市| 虹口区| 内黄县| 新建县| 中西区| 大英县| 通辽市| 德格县| 大姚县| 集安市| 岑溪市| 襄垣县| 黄山市| 江西省| 济南市| 新乡市| 手机| 铁岭市| 紫云| 乐业县| 大渡口区| 沅江市| 乌恰县| 阜阳市| 铜鼓县|