有關iptables的相關設定

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

有關iptables的相關設定

文章koubaw » 週一 4月 26, 2010 7:39 pm

有勞各位高手囉!

1.我要起動IP封包轉送及NAT功能,來源端192.168.1.0/24範圍內的IP封包可以轉址為10.1.1.1;目的地端為10.1.1.1服務為FTP HTTP的封包轉址成192.168.1.1

2.設定只允許192.168.1.0/24及172.16.1.0/25範圍內的主機能以SSH到本機



感謝!!
koubaw
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週一 4月 26, 2010 7:22 pm

Re: 有關iptables的相關設定

文章訪客 » 週一 4月 26, 2010 11:55 pm

來源端192.168.1.0/24範圍內的IP封包可以轉址為10.1.1.1

# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

(注1: eth0為IP 10.1.1.1的網卡 )
(注2: 我不會設Forward chain,所以就預設accept。看看這方面有沒有其他高手可以幫忙)

目的地端為10.1.1.1服務為FTP HTTP的封包轉址成192.168.1.1

# iptables -t nat -A PREROUTING -d 10.1.1.1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:80
# iptables -t nat -A PREROUTING -d 10.1.1.1 -p tcp --dport 21 -j DNAT --to 192.168.1.1:21

允許192.168.1.0/24及172.16.1.0/25範圍內的主機能以SSH到本機

# iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -s 172.16.1.0/25 -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP
訪客
 

Re: 有關iptables的相關設定

文章koubaw » 週二 4月 27, 2010 7:07 pm

訪客 寫:
來源端192.168.1.0/24範圍內的IP封包可以轉址為10.1.1.1

# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

(注1: eth0為IP 10.1.1.1的網卡 )
(注2: 我不會設Forward chain,所以就預設accept。看看這方面有沒有其他高手可以幫忙)

大大的# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE 是類似把-o eth0改成DNAT嗎?
可是來源端IP不是要用SNAT來轉址嗎? (我也不是很清楚= =)
koubaw
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週一 4月 26, 2010 7:22 pm

Re: 有關iptables的相關設定

文章訪客 » 週三 4月 28, 2010 12:40 am

訪客 寫:
來源端 192.168.1.0/24範圍內的IP封包可以轉址為10.1.1.1
# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
大大的# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE 是類似把-o eth0改成DNAT嗎?
可是來源端IP不是要用SNAT來轉址嗎? (我也不是很清楚= =)

簡單來說,就是來自192.168.1.0/24的封包,如果目的是internet而不是NAT主機時
此行指令就會將封包送往eth0,並將來源改寫成eth0的IP然後再送出去
MASQUERADE 就是封包偽裝的意思
小弟自己的實驗室也有架了兩台NAT,都是用上面的指令來轉
個人覺得還蠻簡單易記

SNAT當然也可以做到

代碼: 選擇全部
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

換成
代碼: 選擇全部
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 10.1.1.1

不過SNAT的功能更複雜點,不過我個人有點懶
所以只記得自己覺得簡單的 哈
看大大覺得哪個好用好記,就背哪個吧

關於NAT的用法,建議可以參考鳥哥的NAT/Firewall
學完差不多一般狀況都會了
訪客
 

Re: 有關iptables的相關設定

文章koubaw » 週三 4月 28, 2010 6:13 pm

恩恩! 謝謝各位高手拉 ~
koubaw
可愛的小學生
可愛的小學生
 
文章: 4
註冊時間: 週一 4月 26, 2010 7:22 pm


回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客