網頁 貼吧 文章 作者 工作  
網頁搜尋
 
 愛PO吧 >> 老虎伍茲情婦 >> 瀏覽文章
回覆 加入我的最愛 與好友分享

[ubuntu]設定簡易防火牆與NAT(iptables)

本被文章 0 次, 共有回覆 1  
0
 
0
在 Ubuntu 7.10 當中,已經內建了iptables (正確的說法應該是linux kernel 2.6中已經內建)
預設的規則為允許全部封包通過
或是以指令 iptables -L 查看目前的規則

首先要說明預設的table有filter, nat, 以及mangle三個table
設定簡易的防火牆會用到filter這個table
設定NAT會用到nat這個table
下iptables指令,沒有特別指定table時,會使用filter這個table。

特別要注意的是,iptable的rule具有優先順序。
一旦遇到符合的探索、國家、知識頻道DVD規則,將不會再往下比對。

以下是相當簡單的範例,存成檔案並設定成可執行。之後就不用一次一次打了。
將該檔案的完整路徑放到 /etc/rc.local 這個檔案中,使得開機之後可以自動執行。
作用是讓內部網路通行。除了部份允許的封包之外,阻擋外部進來的封包。

#!/bin/sh
##### iptables.rule #####
EIF="eth0" # 對外的防毒軟體網路介面
IIF="eth1" # 對內的網路介面
INNET="172.16.0.0/24" # 內部子網域

# forwarding
# 讓內部網路的封包可以轉送到外部
echo "1" > /proc/sys/net/ipv4/ip_forward

# flush all rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# 定義 policy
# Policy指的是當進來的封包不屬於rule中的任何一條時,所預設的動作。
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# localhost
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 讓主機主動建立的D5遊戲合輯連線可以進來
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 設定主機上提供的服務可讓外部網路存取
iptables -A INPUT -i $EIF -p tcp --dport 22 -j ACCEPT # ssh
iptables -A INPUT -i $EIF -p udp --dport 22 -j ACCEPT
iptables -A INPUT -i $EIF -p tcp --dport 80 -j ACCEPT # http
# ... 其餘省略

# NAT
iptables -t nat -A POSTROUTING -o $EIF -s $INNET -j MASQUERADE

參考資料:
netfilter - iptables
鳥哥的Linux私房菜 - Linux 防火牆與NAT主機

逛上一篇:   逛下一篇:

作者: hflewasf
  (2009-12-30 20:03)
推薦文章: 將本文章推薦到【百度收藏】 將本文章推薦到【YouPush】 將本文章推薦到【udn共享書籤】 將本文章推薦到【Fiigo】書籤

 本文章共有回覆 1 篇,分 1 頁
 聲明:以上內容不代表本站立場,且內容由網友發表提供,若有爭議或違法由發表者承擔,本站將不負責連帶責任,謝謝。

 IPoBar  愛PK  愛遊戲  愛online
新手教學 客服中心 站務公告 交換連結 合作提案 關於我們
 
版權所有©ipobar Ltd., All Rights Reserved.
論壇內會員言論僅代表個人觀點,不代表本站同意其說法,本討論區不承擔由該言論所引起的法律責任