![]() |
我用iptables作Port Mapping但是就是被擋住 !! 我是用iptables來作NAT+防火牆,以下是我的設定 : [COLOR=red]echo "1" > /proc/sys/net/ipv4/ip_forward [/COLOR] [COLOR=red]iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE [/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 21 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 20 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 25 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 110 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] Client端都只能看網頁,用FTP,收發Mail,[COLOR=blue]其餘全部要擋住[/COLOR] 但是之後我加了一段[COLOR=blue]Port Mapping[/COLOR] (外面連Linux Ftp會轉到client端虛擬ip架的Ftp Server) [COLOR=red]iptables -A POSTROUTING -t nat -p tcp -d 211.11.22.33 --dprot 21 -j DNAT --to 192.168.1.2:21[/COLOR] 但是它就是[COLOR=blue]不通[/COLOR] 後來我發現它還是被 [COLOR=red]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] 所擋住的(因為把這一行拿掉就可以成功的轉到虛擬ip的ftp server) 但是我又一定要限制Client的連線 請教我要增加哪一個指令讓我外面的FTP連線可以Mapping到我虛擬ip的FTP Server呢??? :rolleyes: :rolleyes: :rolleyes: |
Re: 我用iptables作Port Mapping但是就是被擋住 !! [QUOTE][i]最初由 anson lin 發表[/i] [B]我是用iptables來作NAT+防火牆,以下是我的設定 : [COLOR=red]echo "1" > /proc/sys/net/ipv4/ip_forward [/COLOR] [COLOR=red]iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE [/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 21 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 20 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 25 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 110 -j ACCEPT[/COLOR] [COLOR=red]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] Client端都只能看網頁,用FTP,收發Mail,[COLOR=blue]其餘全部要擋住[/COLOR] 但是之後我加了一段[COLOR=blue]Port Mapping[/COLOR] (外面連Linux Ftp會轉到client端虛擬ip架的Ftp Server) [COLOR=red]iptables -A POSTROUTING -t nat -p tcp -d 211.11.22.33 --dprot 21 -j DNAT --to 192.168.1.2:21[/COLOR] 但是它就是[COLOR=blue]不通[/COLOR] 後來我發現它還是被 [COLOR=red]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] 所擋住的(因為把這一行拿掉就可以成功的轉到虛擬ip的ftp server) 但是我又一定要限制Client的連線 請教我要增加哪一個指令讓我外面的FTP連線可以Mapping到我虛擬ip的FTP Server呢??? :rolleyes: :rolleyes: :rolleyes: [/B][/QUOTE] 請問一下,你後來這條Rule加入的位置是在iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP之前還是之後? 如果是之後的話,試看看把Port mapping的Rule移到倒數第二行試看看。 記得iptable的先後順序似乎會對結果產生不同的影響。 小弟也是Linux 新手,如果說得不對,請多包涵! |
謝謝大家的幫忙:p 我一氣之下把我的rc.local減到最精簡還是不行耶:mad: [COLOR=red]echo "1" > /proc/sys/net/ipv4/ip_forward [/COLOR] [COLOR=red]iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE[/COLOR] [COLOR=red]iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j ACCEPT [/COLOR] [COLOR=red]iptables -A PREROUTING -t nat -p tcp -d 211.11.22.33 --dprot 21 -j DNAT --to 192.168.1.2:21 [/COLOR] [COLOR=darkblue]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] 這樣我可以成功的限制Client只能瀏覽網頁,但是用prot21的Mapping到虛擬ip 192.168.1.2就不行:mad: 但是我只要拿掉 [COLOR=darkblue]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR] 就可以Mapping了:confused: :confused: 我已經把[COLOR=red]iptables -A PREROUTING -t nat -p tcp -d 211.11.22.33 --dprot 21 -j DNAT --to 192.168.1.2:21 [/COLOR] 加到[COLOR=darkblue]iptables -A FORWARD -p all -i eth1 -s 0.0.0.0/0 -j DROP [/COLOR]的前面了,但是還是不行呀 !! 請教大家是我的指令有錯嗎??還是大家有別的指令可以下呢?? 我只要Client可以[COLOR=blue]寄收Mail,上網,FTP,192.168.1.2這個虛擬ip開ftp站[/COLOR] 即可,謝謝 !! :rolleyes: :rolleyes: :rolleyes: |
所有時間均為 +8。現在的時間是 03:39 PM。 |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。