我尝试使用 Fedora 15 从任何地方仅允许端口 22 TCP/UDP 和端口 80 TCP/UDP iptables
,其余端口永远无法从公共网络访问或扫描。
但它对我来说从来都不起作用,最后我把它关掉了,因为我害怕它会阻止我自己访问端口 22。
所以,我的问题是,我该如何在 Fedora 15 中做到这一点?阻止除 22、80 TCP/UDP 之外的所有 TCP/UDP?
iptables -P INPUT ACCEPT
# Fresh start
iptables -F
# Localhost/ethernet 0 / yum installation allow
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# SSH
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#iptables -A INPUT -s aa.bb.aa.bb -d xx.yy.xx.yy -p tcp -m tcp –dport 22 -j ACCEPT
iptables -A INPUT -d xx.yy.xx.yy -p tcp -m tcp –dport 22 -j ACCEPT
# other
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# show
iptables -L -v
答案1
在 Fedora 上编辑防火墙配置的最简单方法是使用该system-config-firewall
工具。只需system-config-firewall
从 X运行,system-config-firewall-tui
然后使用简单的图形/curses 界面来设置防火墙规则。
或者,下面/etc/sysconfig/iptables
应该可以解决问题:
*筛选 :输入接受 [0:0] :转发接受 [0:0] :输出接受 [0:0] -A 输入 -m 状态 --状态 ESTABLISHED,RELATED -j 接受 -A 输入-p icmp -j 接受 -A 输入-i lo -j 接受 -A 输入 -m 状态 --状态新 -m tcp -p tcp --dport 22 -j 接受 -A 输入 -m 状态 --状态新 -m tcp -p tcp --dport 80 -j 接受 -A 输入 -j 拒绝 --拒绝 icmp 主机禁止 -A 转发 -j 拒绝 --拒绝与 icmp 主机禁止 犯罪
service iptables restart
完成后运行。(您也可以使用上述参数,iptables
然后运行service iptables save
)。
请记住,如果您具有 IPv6 连接,则必须在 中执行类似操作/etc/sysconfig/ip6tables
。 system-config-firewall
将自动为您执行此操作。