星期二, 十二月 19, 2006
讓遠端可 VNC 或 AOC 進 NAT 內的電腦(IPTABLES)
讓遠端外面的機器可以連進 NAT 的某台電腦, 只要 iptables 設定兩個 port 即可.
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5800 -i ppp0 -j DNAT --to 192.168.1.1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5900 -i ppp0 -j DNAT --to 192.168.1.1
- ppp0: 看對外的網卡是哪個, 就換成哪個 ex: eth0, eth1
- 192.168.1.1: 要連進內部的 IP 是哪個, 由此設定.
再來下面是給電玩用的, AOE(AOC 世紀帝國), CS... 等.(此 script 參考自: Linux iptables 開啟 AOE 讓NAT可以玩啦!)
# AOE
echo 1 > /proc/sys/net/ipv4/ip_forward
IP_LOCAL=192.168.1.1
IPTABLES=/sbin/iptables
$IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# for Serious Sam
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4000 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p udp --dport 25600 -i ppp0 -j DNAT --to $IP_LOCAL
# for AOE & AOC (require DirectPlay)
$IPTABLES -t nat -A PREROUTING -p tcp --dport 1100:5000 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p udp --dport 1100:7000 -i ppp0 -j DNAT --to $IP_LOCAL
# for DirectPlay
$IPTABLES -t nat -A PREROUTING -p tcp --dport 47624 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p udp --dport 47624 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p tcp --dport 2300:2400 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p udp --dport 2300:2400 -i ppp0 -j DNAT --to $IP_LOCAL
# for UnrealTournament
$IPTABLES -t nat -A PREROUTING -p udp --dport 7777:8000 -i ppp0 -j DNAT --to $IP_LOCAL
# for Server
$IPTABLES -t nat -A PREROUTING -p udp --dport 27900 -i ppp0 -j DNAT --to $IP_LOCAL
# for CounterStrike
$IPTABLES -t nat -A PREROUTING -p tcp --dport 27005:27015 -i ppp0 -j DNAT --to $IP_LOCAL
$IPTABLES -t nat -A PREROUTING -p udp --dport 27005:27015 -i ppp0 -j DNAT --to $IP_LOCAL
然後打完電動後記得把 port 關掉, 最簡單的方法就是重新設定 iptables, 再把自己設的規則設回去.
/sbin/iptables --flush
/sbin/iptables --table nat --flush
/sbin/iptables --delete-chain
/sbin/iptables --table nat --delete-chain
下述兩種是 NAT 簡單的設法(挑其一修改使用即可):
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE
發表迴響
PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~





