iT邦幫忙

0

CentOS 非常基本的NAT問題(緊急)

  • 分享至 

  • xImage

我只想要做到NAT的功能,
但不知道為何怎樣都達不到..

煩惱了4天- -!

我已設置 :
echo "1" > /proc/sys/net/ipv4/ip_forward

但Server依然無法NAT = =!

iptables 已停用..

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
59.148.184.96 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 59.148.184.97 0.0.0.0 UG 0 0 0 eth0

拿了2台CENTOS 6.2 64BIT SERVER 快測試結果一樣..

我還找到了同一OS的影片教學- -!
http://www.youtube.com/watch?v=tztp81kl_w8
完全按照同一做法也不行..
快死了= =!

我用另外一部CentOS 6.2 (64bit) 的 Server 來設置也不行...

Client方面, 除了用同樣的CentOS 6.2 (64bit)來測試, 還用了Windows 7 (32bit) & Windows 7 (64bit) & Windows 2003 server (32bit) 來測試.

全部失敗..
全部都能PING通 NAT SERVER 的IP : 192.168.128.254
NAT SERVER 自己能夠PING到WAN外的地址 ( 如GOOGLE )
iptables / SELinux 已被停用,

Client端全部已指定的設置:
IP : 192.168.128.XXX
SUB : 255.255.255.0
GATEWAY : 192.168.128.254

而且PING街外也只是PING IP, 不是DNS...

James iT邦大師 6 級 ‧ 2012-06-22 13:27:05 檢舉
Linux的NAT必需要用到IPTABLES,不可關閉。
謝謝您...
煩惱了4天的問題終於解決了- -!
我按照了 : http://linux.vbird.org/linux_server/0230router.php
設置後 :

# 5. 暫時關閉防火牆!這一步也很重要喔!
[root@www ~]# /etc/init.d/iptables stop


以為同樣是NAT的設法- -!
怎知原來只適用於ROUTE的功能= =
原來一定要用IPTABLES = =!
謝謝您..
James iT邦大師 6 級 ‧ 2012-06-29 17:14:16 檢舉
恭喜解決問題,因為相關步驟實在不少,NAT的方式又有3種,IPTABLES的設定方式更多,組合起來實在不是三言兩語可以解決。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
6
shadowpeople
iT邦新手 1 級 ‧ 2012-06-23 07:07:44
最佳解答
  1. 在 Linux 下開啟 NAT 的動作最重要的是 "絕對要啟用 iptables" ,因為IP轉換時需要用到。
    依照下列順序將指令輸入
    echo "1" > /proc/sys/net/ipv4/ip_forward
    modprobe ip_tables
    modprobe ip_nat_ftp
    modprobe ip_nat_irc
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack_irc
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -Z
    /sbin/iptables -F -t nat
    /sbin/iptables -X -t nat
    /sbin/iptables -Z -t nat
    /sbin/iptables -P INPUT ACCEPT
    /sbin/iptables -P OUTPUT ACCEPT
    /sbin/iptables -P FORWARD ACCEPT
    /sbin/iptables -t nat -P PREROUTING ACCEPT
    /sbin/iptables -t nat -P POSTROUTING ACCEPT
    /sbin/iptables -t nat -P OUTPUT ACCEPT
    /sbin/iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.128.0/24 -j MASQUERADE
    都輸入完後看LAN Client是否可以正常 ping 到 168.95.1.1
  2. M0N0 很穩定,且您要的 Proxy 等等功能也可以以模組的方式掛上,當然除了 M0N0 外還有很多其他的軟體可以用。

M0N0 比起 RHEL ... 哪一個比較好??
好的分別在甚麼地方??

2
aeolus0829
iT邦研究生 4 級 ‧ 2012-06-22 13:41:54

問題看來不嚴重

既然 nat server / client PC 都能夠 ping 到 wan
表示你 nat 的部份沒問題

至於 ping ip 可以,但 ping 網址不行只是 client 的 dns server 沒有設對
client 的 dns server 應該要設到 168.95.192.1 (除非你有在 192.168.128.254 架 forwarding dns server)

之後 clinet 就可以正常上網了

James iT邦大師 6 級 ‧ 2012-06-22 13:44:27 檢舉

andrew412345提到:
全部都能PING通 NAT SERVER 的IP : 192.168.128.254
NAT SERVER 自己能夠PING到WAN外的地址 ( 如GOOGLE )

我的理解不太一樣,CLIENT PC好像只能PING GATEWAY

bruck 說對
CLIENT PC 只能PING GAGTEWAY..
沒能PING到街外..

但NAT SERVER 能PING到WAN...

請求幫忙.......

2
mikeko
iT邦新手 1 級 ‧ 2012-06-22 14:48:46

如果只是NAT

要不考慮 M0N0 http://m0n0.ch/wall/ 驚

簡單好上手,有GUI, < 64 MB,還有VM版本....拍照

重點來了....免費讚讚

需要NAT, Web Proxy Balancer, MySQL Balancer, DNS forwarding, Port Forwarding...

最重要的重點是要穩定= =!

我要發表回答

立即登入回答