pve5下的iptables案例分析-无法访问input相关端口

-A INPUT -p tcp -m multiport --dports 40022 -j f2b-sshd
-A INPUT -s 219.223.176.0/20 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 219.223.168.0/21 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 202.112.39.2/32 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 183.172.0.0/15 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 166.111.0.0/16 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 118.229.0.0/19 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 101.6.0.0/16 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 101.5.0.0/16 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 59.66.0.0/16 -p tcp -m tcp --dport 40022 -j DROP
-A INPUT -s 219.223.176.0/20 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 219.223.168.0/21 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 202.112.39.2/32 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 183.172.0.0/15 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 166.111.0.0/16 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 118.229.0.0/19 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 101.6.0.0/16 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 101.5.0.0/16 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 59.66.0.0/16 -p tcp -m tcp --dport 18006 -j DROP
-A INPUT -s 219.223.176.0/20 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 219.223.168.0/21 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 202.112.39.2/32 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 183.172.0.0/15 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 166.111.0.0/16 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 118.229.0.0/19 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 101.6.0.0/16 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 101.5.0.0/16 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 59.66.0.0/16 -p tcp -m tcp --dport 8006 -j DROP
-A INPUT -s 219.223.176.0/20 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 219.223.168.0/21 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 202.112.39.2/32 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 183.172.0.0/15 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 166.111.0.0/16 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 118.229.0.0/19 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 101.6.0.0/16 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 101.5.0.0/16 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -s 59.66.0.0/16 -p tcp -m tcp --dport 3128 -j DROP
-A FORWARD -s 100.10.186.200/32 -d 10.1.18.0/24 -j ACCEPT
-A FORWARD -s 172.168.186.200/32 -d 10.1.18.0/24 -j ACCEPT
-A FORWARD -s 100.10.186.200/32 -d 100.72.139.0/24 -j ACCEPT
-A FORWARD -s 172.168.186.200/32 -d 100.72.139.0/24 -j ACCEPT
-A f2b-sshd -j RETURN

后面又执行了:
iptables -t filter -A INPUT -p tcp --dport 18006 -j ACCEPT
iptables -t filter -A INPUT -p tcp -i lo --dport 8006 -j ACCEPT

iptables -t filter -I INPUT -s 121.71.145.89 -p tcp --dport 40022 -j ACCEPT
以上流量因为-s 121.71.145.89和本机访问的source ip不一致,所以无法匹配流量,又因为下面的INPUT default 为DROP,所以针对40022 ssh无法连接上。
iptables -t filter -P INPUT DROP --默认链规则

结果表现为:
1、无法vpn client无法拨号连接到vpn center
分析:iptables -I INPUT 44 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -p icmp --icmp-type 8 -j ACCEPT

2、无法在外部互联网通过tcp 18006或者在局域网内pc上通过pve5内网地址100.72.139.4的tcp 8006来访问
分析:
iptable首先通过-t nat PREROUTING 将18006访问端口转换成8006端口,此时的数据不受INPUT影响(因为数据还没到INPUT),所以在iptables中需要开启INPUT 8006端口访问。
但延伸出新的问题,发现可以通过公网IP:18006登录web页面(proxmox web),但输入用户密码无法登入。尝试解决:systemctl restart pveproxy。tail -f -n100 /var/log/pveproxy/access.log 应该是访问超时了。
解决方法:添加一条规则iptables -I INPUT -i lo -j ACCEPT
以上针对-i lo的规则是根据规则 iptables -A INPUT -j LOG --log-prefix "Look at this:"(该规则在最后一条规则iptables -A INPUT -j DROP的前面),该规则记录的log如下:

列出INPUT链的规则如下:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 739 60632 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 8 允许外部ping
2 0 0 ACCEPT tcp -- * * 172.168.186.200 0.0.0.0/0 tcp dpt:40022 vpncenter访问
3 6305 565K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8006
4 40 5148 ACCEPT tcp -- * * 10.1.18.0/24 0.0.0.0/0 tcp dpt:40022 dell服务器内网同网段pc访问
5 0 0 ACCEPT tcp -- * * 10.1.18.253 0.0.0.0/0 tcp dpt:40022 dell服务器访问
6 0 0 ACCEPT tcp -- * * 100.72.139.0/24 0.0.0.0/0 tcp dpt:40022 IBM服务器内网同网段pc访问
7 0 0 ACCEPT tcp -- * * 100.73.73.0/24 0.0.0.0/0 tcp dpt:40022 ca服务器访问
8 1800 157K ACCEPT tcp -- * * 112.35.36.2 0.0.0.0/0 tcp dpt:40022 外部固定ip访问
9 3133 245K ACCEPT tcp -- * * 111.192.82.1 0.0.0.0/0 tcp dpt:40022 外部固定ip访问
10 86 5160 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:40022 deny所有的ssh
11 0 0 DROP tcp -- * * 219.223.176.0/20 0.0.0.0/0 tcp dpt:40022
12 0 0 DROP tcp -- * * 219.223.168.0/21 0.0.0.0/0 tcp dpt:40022
13 0 0 DROP tcp -- * * 202.112.39.2 0.0.0.0/0 tcp dpt:40022
14 0 0 DROP tcp -- * * 183.172.0.0/15 0.0.0.0/0 tcp dpt:40022
15 0 0 DROP tcp -- * * 166.111.0.0/16 0.0.0.0/0 tcp dpt:40022
16 0 0 DROP tcp -- * * 118.229.0.0/19 0.0.0.0/0 tcp dpt:40022
17 0 0 DROP tcp -- * * 101.6.0.0/16 0.0.0.0/0 tcp dpt:40022
18 0 0 DROP tcp -- * * 101.5.0.0/16 0.0.0.0/0 tcp dpt:40022
19 0 0 DROP tcp -- * * 59.66.0.0/16 0.0.0.0/0 tcp dpt:40022
20 0 0 DROP tcp -- * * 219.223.176.0/20 0.0.0.0/0 tcp dpt:18006
21 0 0 DROP tcp -- * * 219.223.168.0/21 0.0.0.0/0 tcp dpt:18006
22 0 0 DROP tcp -- * * 202.112.39.2 0.0.0.0/0 tcp dpt:18006
23 0 0 DROP tcp -- * * 183.172.0.0/15 0.0.0.0/0 tcp dpt:18006
24 0 0 DROP tcp -- * * 166.111.0.0/16 0.0.0.0/0 tcp dpt:18006
25 0 0 DROP tcp -- * * 118.229.0.0/19 0.0.0.0/0 tcp dpt:18006
26 0 0 DROP tcp -- * * 101.6.0.0/16 0.0.0.0/0 tcp dpt:18006
27 0 0 DROP tcp -- * * 101.5.0.0/16 0.0.0.0/0 tcp dpt:18006
28 0 0 DROP tcp -- * * 59.66.0.0/16 0.0.0.0/0 tcp dpt:18006
29 0 0 DROP tcp -- * * 219.223.176.0/20 0.0.0.0/0 tcp dpt:8006
30 0 0 DROP tcp -- * * 219.223.168.0/21 0.0.0.0/0 tcp dpt:8006
31 0 0 DROP tcp -- * * 202.112.39.2 0.0.0.0/0 tcp dpt:8006
32 0 0 DROP tcp -- * * 183.172.0.0/15 0.0.0.0/0 tcp dpt:8006
33 0 0 DROP tcp -- * * 166.111.0.0/16 0.0.0.0/0 tcp dpt:8006
34 0 0 DROP tcp -- * * 118.229.0.0/19 0.0.0.0/0 tcp dpt:8006
35 0 0 DROP tcp -- * * 101.6.0.0/16 0.0.0.0/0 tcp dpt:8006
36 0 0 DROP tcp -- * * 101.5.0.0/16 0.0.0.0/0 tcp dpt:8006
37 0 0 DROP tcp -- * * 59.66.0.0/16 0.0.0.0/0 tcp dpt:8006
38 0 0 DROP tcp -- * * 219.223.176.0/20 0.0.0.0/0 tcp dpt:3128 3128为spiceproxy端口
39 0 0 DROP tcp -- * * 219.223.168.0/21 0.0.0.0/0 tcp dpt:3128
40 0 0 DROP tcp -- * * 202.112.39.2 0.0.0.0/0 tcp dpt:3128
41 0 0 DROP tcp -- * * 183.172.0.0/15 0.0.0.0/0 tcp dpt:3128
42 0 0 DROP tcp -- * * 166.111.0.0/16 0.0.0.0/0 tcp dpt:3128
43 0 0 DROP tcp -- * * 118.229.0.0/19 0.0.0.0/0 tcp dpt:3128
44 0 0 DROP tcp -- * * 101.6.0.0/16 0.0.0.0/0 tcp dpt:3128
45 0 0 DROP tcp -- * * 101.5.0.0/16 0.0.0.0/0 tcp dpt:3128
46 0 0 DROP tcp -- * * 59.66.0.0/16 0.0.0.0/0 tcp dpt:3128
47 4336 652K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
48 27M 1293M DROP all -- * * 0.0.0.0/0 0.0.0.0/0
其实以上ssh访问均可以通过 ssh芝麻开门方式来访问(也即一堆40022规则可以由简单的几个ssh芝麻开门规则搞定)

posted @ 2020-11-25 10:14  helloweifa  阅读(643)  评论(0编辑  收藏  举报