防火墙&&firewalld&&iptables
阅读原文时间:2023年09月07日阅读:1

防火墙&&firewalld&&iptables

目录

一、firewalld

firewall-cmd --zone=public --list-ports


firewall-cmd --zone=public --add-port=5432/tcp --permanent


firewall-cmd --add-rich-rule='rule family="ipv4" source address="<IP地址>" port port="<端口>" protocol="<协议>" reject'


firewall-cmd --reload

二、iptables

 iptables -L
该命令将列出当前的防火墙规则,包括过滤规则(filter)、网络地址转换规则(NAT)和网络地址端口转换规则(MANGLE)。


 iptables -F
该命令将删除所有的防火墙规则,即将防火墙规则设置为默认的允许所有流量。


iptables -A <CHAIN> -p <协议> --dport <端口> -s <来源IP> -j <动作>
<CHAIN>:指定要添加规则的链,常见的链包括 INPUT、OUTPUT 和 FORWARD。
<协议>:指定要匹配的协议,例如 tcp、udp 或 icmp。
<端口>:指定要匹配的端口号。
<来源IP>:指定要匹配的源 IP 地址。
<动作>:指定匹配规则后要执行的动作,常见的动作包括 ACCEPT(允许)、DROP(丢弃)和 REJECT(拒绝)。

示例:
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.10 -j ACCEPT
该命令将添加一个规则,允许来自 IP 地址为 192.168.1.10 的主机访问本地的 TCP 80 端口。


iptables -L --line-numbers


 iptables -D <CHAIN> <规则号>
<CHAIN>:指定要删除规则的链。
<规则号>:指定要删除的规则的编号。
实例:
iptables -D INPUT 1
该命令将删除 INPUT 链中编号为 1 的规则。


iptables -A INPUT -s 172.30.3.19 -p tcp --dport 6379 -j DROP



iptables -A OUTPUT -p tcp --dport 6379 -d 172.30.3.19 -j REJECT



sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
这个规则允许从 eth0(内部网络)接口转发到 eth1(外部网络)接口的流量。


sudo iptables -A FORWARD -i eth1 -o eth0 -j DROP
这个规则阻止从 eth1(外部网络)接口转发到 eth0(内部网络)接口的流量。

请注意,上述示例中的 "eth0" 和 "eth1" 是网络接口的示例名称,您需要将其替换为您实际使用的网络接口名称。