在Linux服务器上,您通常可以使用两种方式管理防火墙设置:
1. 使用iptables命令 这是一种比较旧的控制Linux网络访问的方法。
2. 使用firewalld 它是红帽家族(包括CentOS, RHEL)发行版推荐的管理NAT和动态IPv4/IPv6网络包过滤功能的应用服务。
这里分别针对这两种方式进行简要介绍:
iptables
iptables 是一套用于IPv4的基于内核的包过滤工具。通过这个工具你可以设定、维护或查看包过滤、NAT以及MANGLE配置信息。
允许某个端口的入站连接
bash
sudo iptables A INPUT p tcp dport 端口号 j ACCEPT
请将“端口号”改为你想打开的端口数字。
允许从一个特定IP的所有出站和入站流量
bash
添加规则来允许来自IP地址为 192.168.x.x的出站数据包
sudo iptables A OUTPUT s 192.168.x.x p all j ACCEPT
sudo iptables A INPUT d 192.168.x.x p all j ACCEPT
删除或删除链
你可以利用"D"(或delete)标志将规则移除,也可以直接删除所有链。例如,如果您想删除INPUT 链中的某一条具体规则:
bash
iptables deleteinput INPUT 目标地址
对于删除所有的防火墙规则并重启iptabales,请参考如下操作:
bash
iptables flush
firewalld
Firewalld 提供了防火墙管理接口,能够实现运行时状态和永久更改间的平衡切换。
1. 启动Firewall:
bash
sudo systemctl start firewalld
2. 设置Firewall开机启动:
bash
sudo systemctl enable firewalld
3. 设置允许指定的网络服务:
bash
sudo firewallcmd addservice= [permanent]
例如,添加允许ssh服务访问:
bash
sudo firewallcmd addservice=ssh [permanent]
4. 允许一个端口:
bash
sudo firewallcmd addport=端口/端口类型 permanent
例
sudo firewallcmd addport=80/tcp permanent
这将在你的防火墙上持久保留规则,因此你不必担心系统重置后丢失规则配置。
5. 删除上述操作中的`permanent`标签以应用于正在运行的系统。
注意,`firewallcmd`中的许多子命令都带有一个 `permanent`选项,这样可以保证即使是在系统重启之后也能保持这些变更不变。
根据您的具体情况和Linux发行版本(比如是否为RedHat或者CentOS等支持 firewalld 的发行版),以上步骤应该有所帮助。如果你的系统版本或具体情况需要更详细的支持或不同的策略,则应查询具体的指导文件或支持资源。请确保在做任何更改之前对您的服务器做出适当备份。
发表评论