查看当前服务器iptables情况:

1
2
iptables -L # 规则条目
iptables -S # 规则明细

Linux服务器防火墙的实现底层是iptables,现在的发行版封装了一套firewall-cmd工具,用这个管理防火墙更方便。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 查询服务器中所有的端口启动情况:
netstat -antup

# SSH
iptables -I INPUT 	-p tcp --dport 22334 -j ACCEPT
iptables -I OUTPUT 	-p tcp --sport 22334 -j ACCEPT

# 拒绝所有连接
iptables -A INPUT 	-j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited

firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i tun0 -s 10.8.1.0/24 -d x.x.x.x -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 172.25.254.1 -j ACCEPT


# 查看所有的规则:
firewall-cmd --direct --get-all-rules
# 调整策略后需要刷新一次规则
firewall-cmd --reload

# 先拒绝所有的转发请求:
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 9999 -i tun0 -j DROP
# 允许某个IP或段,访问某几台或段服务器
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 9000 -i tun0 -s 10.9.1.0/24 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 9000 -i tun0 -s 10.9.2.0/24 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 9000 -i tun0 -s 10.9.3.0/24 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 9000 -i tun0 -s 10.9.9.0/24 -d 
    10.10.200.200/29 -j ACCEPT

# 防火墙 放过 keepalived
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -d 224.0.0.18 -p vrrp -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -d 224.0.0.18 -p vrrp -j ACCEPT
firewall-cmd --permanent --reload

# iptables就是下面的规则
-A INPUT -s 192.168.1.0/24 -d 224.0.0.18 -j ACCEPT # 允许组播地址通信
-A INPUT -s 192.168.1.0/24 -p vrrp -j ACCEPT       # 允许VRRP(虚拟路由器冗余协)通信

比如给某台服务器开启防火墙之后,添加访问限制:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 查看所有的规则:
firewall-cmd --reload
firewall-cmd --direct --get-all-rules

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 9000 -s 10.0.0.0/8 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 9000 -d 10.0.0.0/8 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 9000 -s 10.0.0.0/8 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 9000 -d 10.0.0.0/8 -j ACCEPT

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 9000 -s  221.216.211.238 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 9000 -d  221.216.211.238 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 9000 -s 221.216.211.238 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 9000 -d 221.216.211.238 -j ACCEPT