星期日, 2月 16, 2014

iptables 內部機器連上內部網站

之前幫實驗室把一台不用舊linux機器拿來當防火牆用
反正內部也沒幾個人,所以只用幾個簡單的指令,主要目的就讓大家共用一個ip上網
後來放外部的一個網站伺服器沒什麼人管,被要求也要納路內網說是比較安並
然後…就發現只要外部ip的人可以連上該伺服器,內網的人反而不行…
找了一下解決方法,搞不太定(因為iptables根本不會,都是網路上查來的)
只好先請大家在自己電腦上的hosts把那個網站的域名的ip直接設成該伺服器的內部ip
最近,查了一下問題原因及解決方法,細節就不多講了,我也是外行,反正適合我們這種只有分內網與外網的簡單的防火牆(二張網卡)就是了。
#防火牆ip
EXTIP=140.11x.xx.xxx
#內部ip
innet=192.168.69.0/24
#網站伺服器ip(當然是在內網中)是 192.168.69.138
#這二行都要有才行
/sbin/iptables -t nat -A PREROUTING -d $EXTIP -p tcp --dport 80 -j DNAT --to 192.168.69.138
/sbin/iptables -t nat -A POSTROUTING -s $innet -d 192.168.69.138 -p tcp --dport 80 -j MASQUERADE

#很怪的是,我本來是透過下面這一行,做到上面那二行的第一行的功能,但是這樣子沒辦法和上面的第二行搭配…
/sbin/iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 80 -j DNAT --to 192.168.69.138