iptables 問題 - Linux

Quintina avatar
By Quintina
at 2013-10-22T20:22

Table of Contents

目前架構是

PC3 ----- 小烏龜----switch-----PC1
Internet | 192.168.1.254 (撥接,NAT)
| eth0 ppp0
PC2
192.168.1.250(撥接)
eth0 ppp0

PC1 和 PC2 系統都是 centos
PC1 用 @ip.hinet.net 撥接、然後負責 NAT 和 DHCP
PC2 用 @hinet.net 撥接

現在 PC3 要透過 PC1 的 9999 port 的 IP 連進 PC2 的 port 3306

我在 PC1 設 iptables ,把 port 9999 都導到 PC2 的 port 3306 ,但是一直無法連線

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 9999 -j DNAT
--to-destination 192.168.1.250:3306

請問有那個地方該修改的嗎?

個人思考應該是和 PC2 也有撥接的關係、但不知道該怎麼改

--
Tags: Linux

All Comments

Vanessa avatar
By Vanessa
at 2013-10-27T19:00
這是 PC2 default gateway 的問題
Gary avatar
By Gary
at 2013-10-27T22:21
大概兩種解法.[1]PC1轉送PC2時做SNAT,但PC2無法得知真正來源.
Jacob avatar
By Jacob
at 2013-10-31T10:55
[2]PC2對特定port用policy route,但外面無法直接連PC2該port.
Robert avatar
By Robert
at 2013-11-05T00:57
policy route 應該沒用, 只能 SNAT.
Frederic avatar
By Frederic
at 2013-11-07T23:54
PC2看到同內網連線就直接回, 但PC3不認帳, drop 掉...
Selena avatar
By Selena
at 2013-11-11T10:22
等等...... PC3 是內網吧?? @@
Jake avatar
By Jake
at 2013-11-14T11:30
-i ppp0 你的 interface 是 ppp0 嗎? 能否貼個 ifconfig
Olga avatar
By Olga
at 2013-11-19T05:33
另外貼一下 iptables-save
Bethany avatar
By Bethany
at 2013-11-19T14:51
看到最底下PC2也撥接? 既然和PC1是同網段怎麼不是把default
Sierra Rose avatar
By Sierra Rose
at 2013-11-24T07:43
gateway 設定在 PC1 呢?
Elizabeth avatar
By Elizabeth
at 2013-11-27T09:37
所以 PC2 因為有跑撥接的關係,192.168.1 的網段也是 nat 來
Belly avatar
By Belly
at 2013-11-29T11:03
的嗎? 還是說是另外接網卡在 switch 上?
Sarah avatar
By Sarah
at 2013-12-04T03:32
換個問法, PC1和 PC2 192.168.1的ip是可以互相ping有回應?
Susan avatar
By Susan
at 2013-12-08T06:28
回四樓rick大, 看原po的iptables rule, 是從ppp0來的才DNAT,
不是內網,所以 policy route 不會不 work.
另外, 關於SNAT的部分, 在PC2只會看到是192.168.1.254連過來;
作法最好搭配 mangle table 及 fwmark 來做:
Sierra Rose avatar
By Sierra Rose
at 2013-12-11T20:13
iptables -t mangle -A PREROUTING -i ppp0 -p tcp \
--dport 9999 -j MARK --set-mark 0x1/0x1 ;
iptables -t nat -A PREROUTING -m mark --mark 0x1/0x1 \
-j DNAT --to-destination 192.168.1.250:3306 ;
iptables -t nat -A POSTROUTING -d 192.168.1.250 \
-m mark --mark 0x1/0x1 -j MASQUERADE ;
Andrew avatar
By Andrew
at 2013-12-14T11:50
上面的 -j MASQUERADE 也可改為
-j SNAT --to-source 192.168.1.254
效果相同, 但用 -j MASQUERADE 較方便.
當然, -d 192.168.1.250 在這情況下改用 -o eth0 也可以.
Delia avatar
By Delia
at 2013-12-15T15:48
若按上面的設定, 原 po 原來的那一筆 DNAT 就要拿掉.
Una avatar
By Una
at 2013-12-17T23:40
其實 -d 192.168.1.250 或 -o eth0 不寫應該也 OK.
Linda avatar
By Linda
at 2013-12-18T19:45
一時不查. 有設定 port (像上述 DNAT) 時就要加上 protocol.

有人使用lubuntu安裝wine嗎?

Noah avatar
By Noah
at 2013-10-22T20:22
大家好 小弟用的是很久之前舊版的eeepc 1000 SSD版 最近把電腦從xp改灌lubuntu 是用usb安裝的 但在安裝wine 1.4版的時候卻跑出說要從 /cdrom 讀取安裝光碟 但是身邊沒有隨身光碟機 就這樣無法安裝 請問有人遇到類似問題嗎?我看官方社群似乎沒有這方面的討論 請問大家是 ...

skype 麥克風無聲

Ula avatar
By Ula
at 2013-10-22T15:45
(快被這問題搞死了...orz) 各位好 這裡想問一點問題 簡單的說 我的skype的麥克風沒有聲音 我用的系統是 debain testing 環境是kde 目前預設的kernal是 3.10.x 不過之前老是會不定期發生一堆錯誤跑去run 硬碟 搞到系統當掉 所以我跳回去用一開始安裝時的穩定版 ...

UNIX拍照

Ingrid avatar
By Ingrid
at 2013-10-22T15:16
想請教各位大大 我想要在UNIX上拍圖片,以往自己拍圖片都是用鍵盤上的print 請問有什麼方式是可以利用UNIX這套系統來拍圖片呢? 希望有相關經驗的大大能夠 教小弟我一下 謝謝~ - ...

AIX與LINUX取代語法

Poppy avatar
By Poppy
at 2013-10-22T13:19
如題 於LINUX之SHELL SCRIPTS裡寫下此段語法,目的為將變數中的空白取代為兩個空白, 測試皆為正常 PARA_CUSY=$1 PARA_CUSY=${PARA_CUSY// / } 但將程式拿去AIX下跑時卻出現下列錯誤訊息 PARA_CUSY=${PARA_CUSY// / }: 0 ...

ubuntu/安裝/磁碟

Caroline avatar
By Caroline
at 2013-10-22T11:03
最近買了一台新筆電要裝ubuntu 12.04 這台筆電有兩個硬碟 mSSD 128G(預設C槽 win8) + HDD 750G(D槽) 因為C槽有點小 所以我是想要在HDD上切一塊50G來裝ubuntu 用win8的磁碟分割如下圖 http://ppt.cc/~PTj 到這邊都沒問題 跟以前 ...