iptables 的問題 - PCZONE 討論區

返回   PCZONE 討論區 > ▲ ADSL_CABLE_FTTH 寬 頻 上 網 討 論 > -- 網 路 技 術 版


PCZONE 討論區



通知

-- 網 路 技 術 版 較深入的網路方面技術問題,請來此這版討論

會員
iptables 的問題
系統環境:
Fedora Core4
Kernel 2.6.14-1
iptables 1.30

架構大致如下:
Server -> Hub -> NAT -> ATU-R -> Internet

NAT: Fedora Core 4
Server: WWW, MySQL, Mail server.......

對外網卡為 eth0
對內網卡為 eth1

前次系統掛點 (RedHat7),後來系統重灌為 FC4,我將原先的 iptables script 複製到 FC4 裡面,執行後在 iptables -t nat -L 裡面可以看到執行後的 rules,但外面卻無法連線到 LAN 內的 Server,script 如下:
語法:
#!/bin/bash

#-----先清除舊有的iptables-----
iptables -t filter -F
iptables -t nat -F
iptables -t mangle -F

#-----初始化iptables-----------
echo "1" >  /proc/sys/net/ipv4/ip_forward
modprobe ip_nat_ftp # 同上,處理 ftp 等連結問題
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/16 -j MASQUERADE


#---------- httpd port80 重導 ---------------
iptables -A PREROUTING -t nat -p tcp -d 202.145.***.137 --dport 80 -j DNAT --to 192.168.0.99:80
iptables -A OUTPUT     -t nat -p tcp -d 202.145.***.137 --dport 80 -j DNAT --to 192.168.0.99:80

iptables -A PREROUTING -t nat -p tcp -d 202.145.***.138 --dport 80 -j DNAT --to 192.168.0.101:80
iptables -A OUTPUT     -t nat -p tcp -d 202.145.***.138 --dport 80 -j DNAT --to 192.168.0.101:80
(以下省略)
現在內部網路都已經可以連外了,但是外面的 Client 無法連上 Server 的 WWW 服務,請問上面的 script 出了什麼問題嗎?
或者還需要哪些資料?我再補上。

回覆
拉登長官

output chain 是不須要 DNAT 的
回覆
會員

引用:
作者: dou0228
output chain 是不須要 DNAT 的
不需要 DNAT?請問該怎麼輸入指令呢?
iptables -A PREROUTING -t nat -p tcp -d 202.145.***.137 --dport 80 --to 192.168.0.99:80
iptables -A OUTPUT -t nat -p tcp -d 202.145.***.137 --dport 80 --to 192.168.0.99:80
這樣執行後會跳出錯誤訊息耶。

麻煩請指教,謝謝。
回覆
拉登長官

引用:
作者: threesecond
不需要 DNAT?請問該怎麼輸入指令呢?
iptables -A PREROUTING -t nat -p tcp -d 202.145.***.137 --dport 80 --to 192.168.0.99:80
iptables -A OUTPUT -t nat -p tcp -d 202.145.***.137 --dport 80 --to 192.168.0.99:80
這樣執行後會跳出錯誤訊息耶。

麻煩請指教,謝謝。
我的意思是..
Destination NAT 是必須在 PREROUTING 就做掉的
你在 OUTPUT 做實在是非常的奇怪

你只須要 iptables -A PREROUTING -t nat -p tcp -d 202.145.***.137 --dport 80 -j DNAT --to 192.168.0.99:80
回覆
Kree

這兒有現成的 shell script,還不錯用,拿去用吧

根據書籍的範例檔,小幅度修改
於 FC4 測試 OK

把檔頭部份的變數填一填就可以用了
script 內附有完整中文說明註解


附件:閘道防火牆 shell script
格式:UTF-8 (無BOM),unix 斷行


若 windows 下文書編輯器無法顯示 utf-8
請下載 Notepad++ 免費編輯軟體,用它開啟:
http://notepad-plus.sourceforge.net/tw/site.htm

若 Linux 下 vi 開啟,註解說明部份出現亂碼
請確定 i18n 已設定為 utf-8,或者將該檔編碼轉成 Big5

上傳的附加檔案
檔案類型: zip gw-firewall-utf8.zip (6.1 KB, 30 次觀看)
回覆
會員

引用:
作者: dou0228
我的意思是..
Destination NAT 是必須在 PREROUTING 就做掉的
你在 OUTPUT 做實在是非常的奇怪

你只須要 iptables -A PREROUTING -t nat -p tcp -d 202.145.***.137 --dport 80 -j DNAT --to 192.168.0.99:80
果然拿掉 OUTPUT 那行就一切正常了,感謝您!

To linux_xp:
您給的設定檔是從旗標那本書改的嗎?這本書我也有買,正在研讀中,
但現在當務之急是先讓公司的網站正常運作,日後再照書慢慢調整,
同樣感謝您的熱心!
回覆
會員

這是修改自 linux_xp 提供的 gw-firewall-utf8.zip,加入了多重對外IP的功能,
主要修改的區段為 LAN_TCP_DNAT 和 LAN_UDP_DNAT,使用方法請見檔案註解,記得先做 ip alias 將多重 IP 綁在 eth0 上面。

這是因為我本身的網路有多個對外固定 IP,有這個需求,因此修改檔案並提供給各位參考使用。

上傳的附加檔案
檔案類型: zip gw-firewall-utf8.zip (6.1 KB, 32 次觀看)
回覆


類似的主題
主題 主題作者 討論版 回覆 最後發表
IPtables 不管怎麼設,對方總是可以突破,到底是怎麼回事? aerocat -- FreeBSD & Linux 討 論 版 2 2010-11-21 11:47 PM
請教 Linux iptables 熟手,設定方法 linbronhom -- FreeBSD & Linux 討 論 版 5 2009-02-07 02:04 PM
請教大家,LINUX IPTABLES 是,關重要的PORT,還是開需要的 PORT,其它全關 比較好呢 linbronhom -- FreeBSD & Linux 討 論 版 1 2008-05-25 03:12 PM
請問 iptables 如何有效封鎖MSN REN -- FreeBSD & Linux 討 論 版 12 2004-09-25 08:30 AM
【求助】Linux 中 iptables 的 throughput genjen -- FreeBSD & Linux 討 論 版 10 2003-10-15 01:11 PM






 XML   RSS 2.0   RSS 
本站使用 vBulletin 合法版權程式
站務信箱 : [email protected]

本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。