iptables
是 Linux 系统中的一个命令行工具,用于配置内核的网络包过滤规则。它允许系统管理员根据数据包的源地址、目的地址、传输协议、端口号等信息来决定如何处理这些数据包,例如允许、拒绝或记录它们。
要查看当前通过 iptables
开放的端口,可以使用以下命令:
sudo iptables -L -n -v
这条命令会列出所有的防火墙规则,包括开放的端口及其相关的详细信息。
iptables
提供了丰富的匹配条件和动作,可以精细控制网络流量。iptables
规则通常分为几个表(tables):
原因:可能是权限不足或 iptables
服务未运行。
解决方法:
iptables
服务状态:sudo systemctl status iptables
如果服务未运行,可以尝试启动它:
sudo systemctl start iptables
原因:可能是规则未正确保存或应用。
解决方法:
sudo iptables-save > /etc/sysconfig/iptables
iptables
服务使更改生效:sudo systemctl restart iptables
以下是一个简单的 iptables
规则示例,用于开放 TCP 端口 80 和 443:
# 清除现有规则
sudo iptables -F
sudo iptables -X
# 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 允许本地回环接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的连接和相关流量
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 开放端口 80 和 443
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 保存规则
sudo iptables-save > /etc/sysconfig/iptables
请根据实际需求调整上述规则,并确保在生产环境中谨慎操作。
领取专属 10元无门槛券
手把手带您无忧上云