防火墙&&firewalld&&iptables

防火墙&&firewalld&&iptables

一、firewalld

1.centos8查看防火墙开放的端口

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

2.开通5432端口

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

3.源地址为 "172.30.3.19",目标端口为 6379,使用 TCP 协议,将连接请求拒绝(reject)。

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

4.重启生效

firewall-cmd --reload

二、iptables

1.查看当前的防火墙规则:

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

2.清除所有防火墙规则:

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

3.常用方法

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 端口。

4.要查看 iptables 规则的规则号,您可以使用以下命令

iptables -L --line-numbers

5.删除防火墙规则:

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

6.禁止入站规则

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

7.禁止出站规则

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

8.允许从内部网络转发到外部网络的流量

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

9.阻止从外部网络到内部网络的流量

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

请注意,上述示例中的 "eth0" 和 "eth1" 是网络接口的示例名称,您需要将其替换为您实际使用的网络接口名称。
posted @ 2023-06-28 16:05  赵财进宝  阅读(74)  评论(0编辑  收藏  举报