請教一下 iptables DNAT 的問題 - Linux

By Skylar Davis
at 2011-02-16T11:54
at 2011-02-16T11:54
Table of Contents
目前我的主機環境如下
Internet (Hinet) --> 主機 eth1 ppp0 -> 主機 eth0 --> NAT 環境
(固定ip: 192.168.111.1) (192.168.0.0 的網域)
主機上有兩張網卡
eth1 是連到小烏龜
ppp0 是做為 pppoe 連線用, 使用的是固定 ip 192.168.111.1
eth0 則是連到 switch hub, eth0 的 ip 為 192.168.0.254
我的目的很簡單, 只想達成兩個目的
1. 將主機做為 router
2. 將一些 port 轉給 NAT 下的主機使用
ex: 8000 port 給 192.168.0.170 使用
目的 1 是已經達成了
但是目的 2 卻試了好幾次都不成功
我的 iptables 設定如下, 麻煩各位給點意見, 謝謝
*filter
:INPUT ACCEPT [73:5037]
:FORWARD ACCEPT [3862:3184209]
:OUTPUT ACCEPT [61:5344]
-A FORWARD -m iprange --src-range 192.168.0.150-192.168.0.250 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -j DROP
COMMIT
*nat
:PREROUTING ACCEPT [295:18419]
:POSTROUTING ACCEPT [4:280]
:OUTPUT ACCEPT [4:280]
-A PREROUTING -d 192.168.111.1 -i eth0 -p tcp -m tcp --dport 3000 -j DNAT \
--to-destination 192.168.0.254
-A PREROUTING -d 192.168.111.1 -i eth0 -p tcp -m tcp --dport 8000 -j DNAT \
--to-destination 192.168.0.170
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
在這個 script 裡面, 我將 port 3000 轉到 192.168.0.254 是沒問題的
但是將 port 8000 轉到 192.168.0.170 卻失敗了
我是少加了什麼步驟嗎?
--
Internet (Hinet) --> 主機 eth1 ppp0 -> 主機 eth0 --> NAT 環境
(固定ip: 192.168.111.1) (192.168.0.0 的網域)
主機上有兩張網卡
eth1 是連到小烏龜
ppp0 是做為 pppoe 連線用, 使用的是固定 ip 192.168.111.1
eth0 則是連到 switch hub, eth0 的 ip 為 192.168.0.254
我的目的很簡單, 只想達成兩個目的
1. 將主機做為 router
2. 將一些 port 轉給 NAT 下的主機使用
ex: 8000 port 給 192.168.0.170 使用
目的 1 是已經達成了
但是目的 2 卻試了好幾次都不成功
我的 iptables 設定如下, 麻煩各位給點意見, 謝謝
*filter
:INPUT ACCEPT [73:5037]
:FORWARD ACCEPT [3862:3184209]
:OUTPUT ACCEPT [61:5344]
-A FORWARD -m iprange --src-range 192.168.0.150-192.168.0.250 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -j DROP
COMMIT
*nat
:PREROUTING ACCEPT [295:18419]
:POSTROUTING ACCEPT [4:280]
:OUTPUT ACCEPT [4:280]
-A PREROUTING -d 192.168.111.1 -i eth0 -p tcp -m tcp --dport 3000 -j DNAT \
--to-destination 192.168.0.254
-A PREROUTING -d 192.168.111.1 -i eth0 -p tcp -m tcp --dport 8000 -j DNAT \
--to-destination 192.168.0.170
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
在這個 script 裡面, 我將 port 3000 轉到 192.168.0.254 是沒問題的
但是將 port 8000 轉到 192.168.0.170 卻失敗了
我是少加了什麼步驟嗎?
--
Tags:
Linux
All Comments

By Joe
at 2011-02-20T15:28
at 2011-02-20T15:28

By Emma
at 2011-02-22T06:00
at 2011-02-22T06:00

By Olga
at 2011-02-25T14:24
at 2011-02-25T14:24

By Odelette
at 2011-03-01T01:23
at 2011-03-01T01:23

By Oscar
at 2011-03-02T18:04
at 2011-03-02T18:04

By James
at 2011-03-04T22:51
at 2011-03-04T22:51

By Emma
at 2011-03-06T10:55
at 2011-03-06T10:55

By Queena
at 2011-03-09T05:48
at 2011-03-09T05:48

By Eden
at 2011-03-10T06:54
at 2011-03-10T06:54

By Robert
at 2011-03-10T13:25
at 2011-03-10T13:25

By Isla
at 2011-03-11T10:56
at 2011-03-11T10:56

By Andrew
at 2011-03-13T13:10
at 2011-03-13T13:10

By Charlotte
at 2011-03-15T13:46
at 2011-03-15T13:46

By Hedy
at 2011-03-20T11:30
at 2011-03-20T11:30
Related Posts
$4 的 Debian 6.0 自動化安裝

By Yuri
at 2011-02-16T10:10
at 2011-02-16T10:10
請問怎麼在.sh檔裡用time輸出指令的執行時間?

By George
at 2011-02-16T04:08
at 2011-02-16T04:08
ubuntu安裝java的問題

By Una
at 2011-02-15T18:11
at 2011-02-15T18:11
CIFS下的檔案無法用givm修改

By Rachel
at 2011-02-15T15:16
at 2011-02-15T15:16
sendmail能寄信 不能收信 (收不到信)

By Isla
at 2011-02-15T11:59
at 2011-02-15T11:59