在Linux系统中,防火墙管理通常通过iptables
或firewalld
这两个工具来实现。以下是使用这两种工具开启防火墙的基本命令:
iptables
iptables
是一个强大的防火墙管理工具,它允许你定义一系列的规则来控制网络流量。
开启防火墙:
# 清除现有规则
sudo iptables -F
# 设置默认策略为拒绝所有输入、转发和输出流量
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
# 保存规则(具体命令可能因Linux发行版而异)
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
注意: 上述命令会阻止所有外部访问,除了允许的输出流量。在生产环境中,你需要添加适当的规则来允许必要的端口和服务。
firewalld
firewalld
是另一个更加用户友好的防火墙管理工具,它提供了动态管理防火墙的能力。
开启防火墙:
# 启动firewalld服务
sudo systemctl start firewalld
# 设置开机自启
sudo systemctl enable firewalld
# 查看当前活动区域
sudo firewall-cmd --get-active-zones
添加规则:
如果你想允许某个特定端口(例如SSH的22端口),可以使用以下命令:
# 允许SSH连接
sudo firewall-cmd --permanent --add-service=ssh
# 重新加载防火墙配置
sudo firewall-cmd --reload
iptables
提供了底层的控制能力,而 firewalld
则提供了更高级别的抽象,便于快速配置。问题: 防火墙设置后无法访问特定服务。
解决方法:
telnet
或 nc
工具测试端口连通性。/var/log/
目录下)以获取更多信息。示例: 如果SSH无法访问,可以尝试以下步骤:
# 检查SSH服务状态
sudo systemctl status sshd
# 测试22端口是否开放
sudo telnet localhost 22
# 或者使用nc命令
sudo nc -zv localhost 22
确保在修改防火墙规则后,总是重新加载配置以使更改生效。
腾讯云数据库TDSQL(PostgreSQL版)训练营
原引擎 | 场景实战系列
原引擎 | 场景实战系列
企业创新在线学堂
第四期Techo TVP开发者峰会
云+社区技术沙龙[第14期]
领取专属 10元无门槛券
手把手带您无忧上云