Re: [問題] 請教Basic NAT的實做方法

看板Programming作者 (平衡)時間18年前 (2007/04/19 18:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《saap (我是好人囧rz)》之銘言: : 請教一下各位前輩們, : Basic NAT要如何實做呢? : 即假設內部網段是192.168.1.0/24網段, : 藉由NAT Server的內部IP:192.168.0.254, : 每個內部IP都對應到實體IP, : EX: : 192.168.1.1 <---> 1.1.1.1 : 192.168.1.2 <---> 1.1.1.2 : . : . : . : . : 192.168.1.100 <---> 1.1.1.100 : 小弟的問題在於該NAT是否要在外部網卡設上每個實體IP, : 意即該NAT對外網卡上設1.1.1.1, 1.1.1.2, 1.1.1.3, ... 1.1.1.100及自己的對外IP, : 感覺好像不是這樣作? 你有那麼多public IP可以用啊? 現在NAPT應該比較多吧 大家都用同樣的IP和不同的port出去 : RFC 3022看了也了解他的步驟, : 可是要實做...完全沒有頭緒, : 想找範例碼來參考又找不到, 我在網路上有找到過 還可以通過ICMP和FTP(active mode) 再找一下吧 : 因此特來請教迷津, : 謝謝。 我是這樣做的啦,細節我不說了 我是在windows上用MFC+winpcap作的 WAN ------------- eth1 = s e r v e r =eth0 ------LAN (也許接到一個switch) eth0 IP設192.168.0.254 其他clients的gateway也設192.168.0.254 從eth0進來且目的地是WAN的封包(ARP之類的不用轉送) 隨機分配62000+的 port number出去,IP當然用eth1的IP,並紀錄Translation table 從eth1進來的且dest port是62000+的,才轉送進LAN(你可以加上其他限制, 就變成Restricted Cone NAT, Port Restricted Cone NAT 之類的) 要送到哪裡應該不用我教了 如果要讓FTP p2p之類可以通過, 要設定static translation table 不然又外面來的連線(port <62000)我們是不會理的。 例如client 1的eMule port設47662,那你就在處裡eth1封包那裡把送給47662的 封包轉給client 1,這樣子就不會看到low ID了~~ 如果client 2想架FTP,以filezilla server來說的話,可以設定filezilla server 只使用30000~31000的port,然後你的NAT就把這個port範圍的封包轉給client 2就可以了 (不過用passive mode就沒這個問題了) table要管理好,要定時清理,不然跑沒多久就爆掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.79.114 ※ 編輯: Linvail 來自: 140.114.79.114 (04/19 18:16)

04/21 00:19, , 1F
感謝高手賜教...謝謝^^
04/21 00:19, 1F
文章代碼(AID): #169q3cQ5 (Programming)
文章代碼(AID): #169q3cQ5 (Programming)