我在debian 7機器上安裝了一個小型web服務器,並添加了一個防火牆,以便它能正常工作。這是規則。Debian 7 DNS iptables
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
ipt="/sbin/iptables"
## Failsafe - die if /sbin/iptables not found
[ ! -x "$ipt" ] && { echo "$0: \"${ipt}\" command not found."; exit 1; }
$ipt -P INPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -F
$ipt -X
$ipt -t nat -F
$ipt -t nat -X
$ipt -t mangle -F
$ipt -t mangle -X
$ipt -t raw -F
$ipt -t raw -X
echo "Adding rules so that only SFTP,SSH,HTTP and DNS are allowed..."
$ipt -A INPUT -p tcp -m tcp -m multiport --dports 21,22,80,443 -j ACCEPT
$ipt -A INPUT -m conntrack -j ACCEPT --ctstate RELATED,ESTABLISHED
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A INPUT -p udp --sport 53 -j ACCEPT
$ipt -A INPUT -p tcp --sport 53 -j ACCEPT
$ipt -A INPUT -i lo -p all -j ACCEPT
$ipt -A INPUT -j DROP
$ipt -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A OUTPUT -p tcp --sport 22 -j ACCEPT
$ipt -A OUTPUT -p udp --dport 53 -j ACCEPT
$ipt -A OUTPUT -p tcp --dport 53 -j ACCEPT
$ipt -A OUTPUT -o lo -p all -j ACCEPT
$ipt -A OUTPUT -j DROP
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -j DROP
這適用於SFTP,SSH,HTTP和HTTPS。任何想法爲什麼DNS不工作?我試着在網絡上許多更復雜的解決方案,但沒有工作......
sudo iptables -A OUTPUT -p udp --sport 1024:65535 -d 213.186.33.99 --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo echo -n "hi" > /dev/udp/213.186.33.99/53
echo: write error: Operation not permitted
任何幫助表示讚賞:)
究竟是什麼創造'的/ dev/udp'樹?這在我的Ubuntu機器上不存在。 –
我認爲bash正在創建樹,因爲我通過互聯網閱讀,但我必須說不太確定 – Ottunger