星期二, 十二月 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
相關標籤
Add this page to del.icio.us Add this page to Yahoo Taiwan's bookmark Add this page to MyShare

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~