Linux
IPTables 配置幫助
我正在尋求一些設置 IPTables 的幫助。大多數配置是有效的,但無論我嘗試什麼,我都不能允許 localhost 僅訪問本地 Apache(即 localhost 僅訪問 localhost:80)。
這是我的腳本:
#!/bin/bash # Allow root to access external web and ftp iptables -t filter -A OUTPUT -p tcp --dport 21 --match owner --uid-owner 0 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 80 --match owner --uid-owner 0 -j ACCEPT #Allow DNS queries iptables -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT # Allow in and outbound SSH to/from any server iptables -A INPUT -p tcp -s 0/0 --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp -d 0/0 --sport 22 -j ACCEPT # Accept ICMP requests iptables -A INPUT -p icmp -s 0/0 -j ACCEPT iptables -A OUTPUT -p icmp -d 0/0 -j ACCEPT # Accept connections from any local machines but disallow localhost access to networked machines iptables -A INPUT -s 10.0.1.0/24 -j ACCEPT iptables -A OUTPUT -d 10.0.1.0/24 -j DROP # Drop ALL other traffic iptables -A OUTPUT -p tcp -d 0/0 -j DROP iptables -A OUTPUT -p udp -d 0/0 -j DROP
現在我已經嘗試了很多排列,我顯然錯過了一切。我將它們放在進/出綁定 SSH 的上方,所以這不是優先順序。
如果有人能提醒我只允許本地機器訪問本地 Web 伺服器,那就太好了。
此外 - 當上述配置執行時,我不能(從 Windows 框中)按名稱 ping 主機 - 可以通過 IP。我需要什麼來允許主機解析?
乾杯,伙計們。
通用建議 - 在規則集的開頭添加:
iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -F iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
在此之後附加您的規則。我真的不明白你為什麼要阻止本地主機表單訪問某些東西。它會導致很多問題.. 使用 dns、mysql 和任何其他本地服務。