我在公司用rh9設nat主機用msn語音連線時對方若是真實ip就可以連線,在家裡我用openlinux3.1.1設nat主機用msn跟我朋友語音連線卻沒辦法連線,實在很納悶。
我在公司是用XP的windows messenger更新到最新版本,在家裡是用MSN messenger 5.0。
家裡的linux主機有兩塊網卡,一張對內eth0,一張對外eth1,公司的只有一張網卡,對外eth0,對內eth0:0。
iptables的設定
EXTIF="xx.xx.xx.xx"
INNET="192.168.20.0/24"
EXDEV="eth1"


iptables -P INPUT DROP #policy 只有這是DROP其他都是ACCEPT
iptables -t nat -A POSTROUTING -s $INNET -o $EXDEV -j MASQUERADE
iptables -t nat -A PREROUTING -i $EXDEV -p tcp -s $EXTIF --dport 6891:6900 -j DNAT --to-destination 192.168.20.21:6891-6900
iptables -t nat -A PREROUTING -i $EXDEV -p udp -s $EXTIF --dport 5004:65535 -j DNAT --to-destination 192.168.20.21:5004-65535
iptables -A INPUT -s 192.168.20.0/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW,INVALID -j DROP
上面是在家裡用的,傳檔功能正常,可是語音連線卻不行
下面是公司的設定
EXTIF="xxx.xx.xxx.xx"
INNET="192.168.1.0/24"
EXDEV="eth0"

iptables -P INPUT ACCEPT #policy 都是ACCEPT
iptables -t nat -A POSTROUTING -s $INNET -o $EXDEV -j MASQUERADE
iptables -t nat -A PREROUTING -i $EXDEV -p tcp -s $EXTIF --dport 6891:6900 -j DNAT --to-destination 192.168.20.21:6891-6900
iptables -t nat -A PREROUTING -i $EXDEV -p udp -s $EXTIF --dport 5004:65535 -j DNAT --to-destination 192.168.20.21:5004-65535
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW,INVALID -j DROP
在公司用的iptables設定對方只要是真實ip連線就ok
我也有去看過紅冒討論區說語音連線MSN是用tcp udp 6901 port 我也試過可是也一樣不能連線。
我朋友試用撥接的,在公司因為有五個固ip,所以我就用另外一個獨立的ip(完全獨立沒有設內部ip)測試能正常連線。
不知是否有人知道原因是出在哪呢?請各位指導一下吧~~拜託囉~~@@