作者 主題: 新手請教各位大大: iptables 轉址  (閱讀 15137 次)

0 會員 與 1 訪客 正在閱讀本文。

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 於: 2004-06-07 15:42 »
Apc:linux架nat, 對外eth1:61.221.28.100, 對內eth0:192.168.0.1
Bpc:lan,win2k,ip:192.168.0.2,有mysql,web,ftp

請問先進們:
1.由61.221.28.100:80 進入,直接轉到 ip:192.168.0.2:80
2.由61.221.28.100:3306 進入,直接轉到 ip:192.168.0.2:3306
3.由61.221.28.100:21 進入,直接轉到 ip:192.168.0.2:21
 
以下寫法對嗎:
在 rc.local 加入
iptables -t nat -A POSTROUTING 192.168.0.2 -s 192.168.0.0/24 -p tcp --dport 80 -j SNAT --to 61.221.28.100:80
iptables -t nat -A POSTROUTING 192.168.0.2 -s 192.168.0.0/24 -p tcp --dport 3306 -j SNAT --to to 61.221.28.100:3306
iptables -t nat -A POSTROUTING 192.168.0.2 -s 192.168.0.0/24 -p tcp --dport 3306 -j SNAT --to to 61.221.28.100:21

iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 80 -j DNAT --to 61.221.28.100:80
iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 3306 -j DNAT --to 61.221.28.100:3306
iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 21 -j DNAT --to 61.221.28.100:21

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #1 於: 2004-06-07 16:17 »
將 POSTROUTING 那幾行砍掉看看?

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
Re: 新手請教各位大大: iptables 轉址
« 回覆 #2 於: 2004-06-07 16:24 »
引述: "micro"

iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 80 -j DNAT --to 61.221.28.100:80
iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 3306 -j DNAT --to to 61.221.28.100:3306
iptables -t nat -A PREROUTING -i eth0 -d 192.168.0.2 -p tcp --dport 21 -j DNAT --to to 61.221.28.100:21

除了 Netman 老大說的,以上的幾行是是不是都寫反了?
應該是 -d 61.221.28.100,--to 192.168.0.2:port?
--to 後面有 to 參數嗎?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #3 於: 2004-06-07 16:26 »
對哦,還是 jou 兄看得仔細...  ^_^

try:
iptables -t nat -A PREROUTING -i eth0 -d 61.221.28.100 -p tcp --dport 80 -j DNAT --to 192.168.0.2

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #4 於: 2004-06-07 17:42 »
各位大大很抱歉:
to to 是我沒注意多打的,我已經更正了.

感謝 netman 大大指教,我正在try.

clchang

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #5 於: 2004-06-07 18:40 »
建議先看一下tnlug.linux.org.tw中Ericshei 演講之iptables,
看完後你就知道如何寫.
Ericshei 演講之iptables講的真是好,受用良多,感謝!!

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #6 於: 2004-06-07 18:41 »
引述: "netman"
iptables -t nat -A PREROUTING -i eth0 -d 61.221.28.100 -p tcp --dport 80 -j DNAT --to 192.168.0.2



報告各位大大:
小弟依netman大大方法,結果還是不行,不知原因為何?
192.168.0.2的web正常運轉,
192.168.0.2也ping 的到61.221.28.100,
nat也正常,
請各位大大再不吝指教,謝謝先.

clchang

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #7 於: 2004-06-07 19:07 »
micro兄:
iptables真的不好學,速成是相當危險,
要求別人給魚吃,不如學會如何釣魚,
Ericshei 演講iptables,真的是再教你如何釣魚,
PREROUTING, POSTROUTING, ftp Active & passive mode差異,
演講中說明的非常清楚,值得想學iptables的學員用心的看,
等你看完Ericshei 演講,再回來看你的問題,你就清楚問題在哪裡
-i eth0 與-i eth1是有差異.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #8 於: 2004-06-07 20:35 »
將 eth0 改為  eth1:
iptables -t nat -A PREROUTING -i eth1 -d 61.221.28.100 -p tcp --dport 80 -j DNAT --to 192.168.0.2

Anonymous

  • 訪客
新手請教各位大大: iptables 轉址
« 回覆 #9 於: 2004-06-07 20:59 »
引述: "clchang"
iptables真的不好學,速成是相當危險,
要求別人給魚吃,不如學會如何釣魚,
Ericshei 演講iptables,真的是再教你如何釣魚,
PREROUTING, POSTROUTING, ftp Active & passive mode差異,
演講中說明的非常清楚,值得想學iptables的學員用心的看,
等你看完Ericshei 演講,再回來看你的問題,你就清楚問題在哪裡
-i eth0 與-i eth1是有差異.


clchang大大您好:
*.wmv 檔我已經在下載中了.



引述: "netman"
將 eth0 改為  eth1:
iptables -t nat -A PREROUTING -i eth1 -d 61.221.28.100 -p tcp --dport 80 -j DNAT --to 192.168.0.2


netman大大您好:
我依您說的去試,還是不行耶.不知是何原因?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #10 於: 2004-06-07 21:03 »
將如下結果列上來吧,最怕猜環境了:
cat /proc/sys/net/ipv4/ip_forward
route -n
iptables-save

然後,將 w2k 的如下結果列上來:
route print
tracert 168.95.1.1

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #11 於: 2004-06-07 22:13 »
netman大大您好:
因下班,這是另一主機之內容.
Apc:架nat, 對外eth1:220.130.201.xxx, 對內eth0:192.168.254.1
Bpc:lan,win2k,ip:192.168.254.11,有mysql,web,ftp

************************************************

/proc/sys/net/ipv4/ip_forward 內容:無

[root@poweroffice root]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
220.130.201.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.254.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         220.130.201.254 0.0.0.0         UG    0      0        0 eth1

[root@poweroffice root]# iptables-save
# Generated by iptables-save v1.2.8 on Tue Jun  8 06:18:45 2004
*nat
:PREROUTING ACCEPT [48:2362]
:POSTROUTING ACCEPT [4:292]
:OUTPUT ACCEPT [4:292]
-A POSTROUTING -s 192.168.254.0/255.255.255.0 -o eth1 -j MASQUERADE
COMMIT
# Completed on Tue Jun  8 06:18:45 2004
# Generated by iptables-save v1.2.8 on Tue Jun  8 06:18:45 2004
*filter
:INPUT DROP [40:1948]
:FORWARD ACCEPT [30:1485]
:OUTPUT ACCEPT [107:9036]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 3/4 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 14 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 16 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 18 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 113 -j ACCEPT
COMMIT
# Completed on Tue Jun  8 06:18:45 2004

w2k:
C:\DOCUME~1\ADMINI~1>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x1000003 ...00 0d 61 31 19 bc ...... Realtek 8139-series PCI NIC

0x1000004 ...00 50 ba 04 0e 38 ...... VIA PCI 10/100Mb Fast Ethernet Adapter
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.254.1  192.168.254.11       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
    192.168.254.0    255.255.255.0   192.168.254.11  192.168.254.11       1
   192.168.254.11  255.255.255.255        127.0.0.1       127.0.0.1       1
  192.168.254.255  255.255.255.255   192.168.254.11  192.168.254.11       1
        224.0.0.0        224.0.0.0   192.168.254.11  192.168.254.11       1
  255.255.255.255  255.255.255.255   192.168.254.11  192.168.254.11       1
Default Gateway:     192.168.254.1
===========================================================================
Persistent Routes:
  None


C:\DOCUME~1\ADMINI~1>tracert 168.95.1.1
Tracing route to dns.hinet.net [168.95.1.1]
over a maximum of 30 hops:

  1   <10 ms   <10 ms   <10 ms  192.168.254.1
  2    47 ms    62 ms    63 ms  220-130-201-254.HINET-IP.hinet.net [220.130.201.
254]
  3    47 ms    62 ms    63 ms  tc-c6r1.router.hinet.net [168.95.144.198]
  4    47 ms    63 ms    62 ms  tc-c12r2.router.hinet.net [211.22.189.202]
  5    62 ms    63 ms    47 ms  210.65.200.30
  6    63 ms    47 ms    62 ms  tp-s2-c6r9.router.hinet.net [211.22.35.129]
  7    62 ms    63 ms    94 ms  dns.hinet.net [168.95.1.1]

Trace complete.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #12 於: 2004-06-07 22:19 »
沒看到 PREROUTING 的 rule 啊...  >_<
不過,其他看來還好... ^_^

接下來:
1) 將你的 PREROUTING 規則打上去。
2) 用另一台 client 從外面連線來測(不要在內部)

Anonymous

  • 訪客
新手請教各位大大: iptables 轉址
« 回覆 #13 於: 2004-06-07 22:26 »
引述: "netman"
沒看到 PREROUTING 的 rule 啊...  >_<
不過,其他看來還好... ^_^

接下來:
1) 將你的 PREROUTING 規則打上去。
2) 用另一台 client 從外面連線來測(不要在內部)


netman大大您好:
我是已經將下面這一段寫入rc.local內了,才將上面您要的數據印出來的.
iptables -t nat -A PREROUTING -i eth1 -d 220.130.201.xxx -p tcp --dport 80 -j DNAT --to 192.168.254.11

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #14 於: 2004-06-07 22:31 »
那你就"手工"敲一下這行命令吧。可以嗎?

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #15 於: 2004-06-07 22:33 »
好的

clchang

  • 懷疑的國中生
  • **
  • 文章數: 30
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #16 於: 2004-06-07 22:44 »
引用
/proc/sys/net/ipv4/ip_forward 內容:無

???

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #17 於: 2004-06-07 22:54 »
netman大大您好:
iptables轉址終於可以了,很感謝您,心中無限感激..
但我已將PREROUTING寫入rc.local,現要如何處理呢?
lan pc 要上自己 web 要如何設定?
謝謝先!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #18 於: 2004-06-07 23:45 »
看這裡:
http://www.study-area.org/tips/NAT-HOWTO/NAT-HOWTO-chn-10.html

好了。接下來,在你還沒"爬文"結束前,我不再參與討論了。
加油吧~~~~

ericshei-offline

  • 訪客
新手請教各位大大: iptables 轉址
« 回覆 #19 於: 2004-06-08 11:59 »
引述: "clchang"
micro兄:
iptables真的不好學,速成是相當危險,
要求別人給魚吃,不如學會如何釣魚,
Ericshei 演講iptables,真的是再教你如何釣魚,
PREROUTING, POSTROUTING, ftp Active & passive mode差異,
演講中說明的非常清楚,值得想學iptables的學員用心的看,
等你看完Ericshei 演講,再回來看你的問題,你就清楚問題在哪裡
-i eth0 與-i eth1是有差異.



真是汗顏呀!我沒那麼偉大啦! 我只是把前輩所寫的東西給"講"出來而己!
看看netmat學長的文章,就知道啦!  ^^

http://www.study-area.org/linux/servers/linux_nat.htm

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #20 於: 2004-06-08 14:24 »
請先進們幫幫忙:
lan pc 要上自己 web 這麼寫哪錯了.
iptables –t nat –A POSTROUTING -d 192.168.254.11 –s 192.168.254.0/24 -p tcp --dport 80 –j SNAT –to 192.168.254.1


192.168.254.11 : web server
192.168.254.1 : nat 對內網卡
[root@poweroffice root]# iptables-save
# Generated by iptables-save v1.2.8 on Tue Jun  8 22:49:06 2004
*nat
:PREROUTING ACCEPT [33255:1811280]
:POSTROUTING ACCEPT [8:534]
:OUTPUT ACCEPT [6:438]
-A PREROUTING -d 220.130.201.xxx -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.254.11
-A POSTROUTING -s 192.168.254.0/255.255.255.0 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.254.0/255.255.255.0 -d 192.168.254.11 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.254.1
COMMIT
# Completed on Tue Jun  8 22:49:06 2004
# Generated by iptables-save v1.2.8 on Tue Jun  8 22:49:06 2004
*filter
:INPUT DROP [7421:455353]
:FORWARD ACCEPT [771846:341231431]
:OUTPUT ACCEPT [6544:1643252]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 3/4 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 14 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 16 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 18 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 113 -j ACCEPT
COMMIT
# Completed on Tue Jun  8 22:49:06 2004
[root@poweroffice root]#

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #21 於: 2004-06-08 14:58 »
引述: "micro"

-A POSTROUTING -s 192.168.254.0/255.255.255.0 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.254.0/255.255.255.0 -d 192.168.254.11 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.254.1

看起來沒有錯。只是位置要調一下,要不然封包都先 MASQ 了。

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #22 於: 2004-06-08 15:12 »
請問jou大大:

iptables –t nat –A POSTROUTING -d 192.168.254.11 –s 192.168.254.0/24 -p tcp --dport 80 –j SNAT –to 192.168.254.1
寫在
-A POSTROUTING -s 192.168.254.0/255.255.255.0 -o eth1 -j MASQUERADE
之前嗎?

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #23 於: 2004-06-08 15:20 »
是的。試一下就知道了。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #24 於: 2004-06-08 15:25 »
也不需調吧?
 -o eth1
因為內部是從 -o eth0 出的...

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #25 於: 2004-06-08 15:30 »
請問jou大大:
還是不能上自己web.
不知哪錯了.哇.現在頭好痛啊...

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #26 於: 2004-06-08 15:38 »
1. natman大大說2種都可以:
經典的情形是內部人員嘗試連接到您的 `公有(public)' 網站伺服器﹐實際上是從公有地址(1.2.3.4) DNAT 到一個內部的機器(192.168.1.1)去﹐就像這樣﹕
# iptables -t nat -A PREROUTING -d 1.2.3.4 \
        -p tcp --dport 80 -j DNAT --to 192.168.1.1
而另一個方法是同時讓這台 NAT 主機將該等連線之來源 IP 地址映對為它自己的地址﹐我們可以像如下那樣做(假設 NAT 主機之內部 IP 地址為 192.168.1.250)﹕
# iptables -t nat -A POSTROUTING -d 192.168.1.1 -s 192.168.1.0/24 \
        -p tcp --dport 80 -j SNAT --to 192.168.1.250

2. ericshei大大再講習影片說用SNAT.

請問各位大大, 是不是改用 DNAT , 比用 SNAT 問題較少?

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #27 於: 2004-06-08 15:40 »
-A PREROUTING -d 220.130.201.xxx -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.254.11
上面那行:
將 -i eth1 砍掉,
後再加一行 -i eth0 就 okay 了...

micro

  • 可愛的小學生
  • *
  • 文章數: 18
    • 檢視個人資料
新手請教各位大大: iptables 轉址
« 回覆 #28 於: 2004-06-08 15:53 »
請問netman大大:
是改成下面這樣嗎?
iptables -t nat -A PREROUTING -d 220.130.201.xxx -p tcp --dport 80 -j DNAT --to 192.168.254.11
iptables -t nat -A PREROUTING -i eth0 -d 220.130.201.xxx -p tcp --dport 80 -j DNAT --to 192.168.254.11

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17430
    • 檢視個人資料
    • http://www.study-area.org
新手請教各位大大: iptables 轉址
« 回覆 #29 於: 2004-06-08 16:00 »
哦,不是:
若有第一行,那第二行是多餘的。

要不,就寫兩行:
一行是 -i eth1
另一是 -i eth0