Linux

使用 iptables 映射外部本地主機

  • December 31, 2011

我有一個狀態監視器,我希望使用 nmap 設置它來顯示我所有的外部開放埠。自然會想到nmap。

不幸的是,我使用 iptables 防火牆並允許環回介面上的所有流量。我想要這個並且需要這個,例如我可能正在 apache 上進行 Web 開發。我不希望該埠一直向外界開放(有時我會這樣做),並且我這樣做有多種服務,因此僅將它們設置為在環回介面上偵聽可能太麻煩了。

我希望有一種方法可以在不涉及另一台電腦的情況下在同一台電腦上掃描 nmap。這通常不是問題,但是這台電腦是筆記型電腦,可以在許多不同的環境中使用。

我在想類似的事情:

nmap -e wlan0 -PN localhost

但這不起作用(打開時顯示所有內容都已關閉)並且執行時間太長。

這是我目前的 iptables 規則。沒什麼特別的,我也願意接受與 iptables 相關的建議。

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

我通過操縱 iptables 弄清楚了。

顯然iptables會影響nmap,但我有一個規則:

iptables -A INPUT -i lo -j ACCEPT

這是接受所有環回連接。

對於外部連接,以下工作可以解決它:

iptables -D INPUT -i lo -j ACCEPT
nmap localhost
iptables -I INPUT 1 -i lo -j ACCEPT

引用自:https://serverfault.com/questions/345507