Iptables 配置只允许国内ip访问

今天看日志发现好多国外的ip在访问我阿里云的服务器,于是在iptables里面配置一下防火墙。

1. 配置 Ipset 管理 ip 段

1
2
3
4
5
6
7
8
9
10
11
12
13
apt install ipset
# 本地 ip
ipset create local hash:net
ipset add -exist local 127.0.0.1/8
ipset add -exist local 10.0.0.0/8
ipset add -exist local 172.16.0.0/12
ipset add -exist local 192.168.0.0/16
# 国内 ip
ipset create china hash:net
# 下载国内 ip 段
curl -O "http://www.ipdeny.com/ipblocks/data/countries/cn.zone"
# 导入 ipset
for i in `cat cn.zone`; do echo "ipset -exist add -exist china $i" >>addchina.ipset.sh; done

2. 配置 Iptables

1
2
3
4
# 把非本地以及国内的流量丢包
iptables -I INPUT -m set ! --match-set china src -m set ! --match-set local src -j DROP
# 允许已经建立的连接的入站流量
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I 是加在开头 iptables -A 是加在结尾。

Iptables 配置只允许国内ip访问

https://psu.monster/post/2024/09c2c361f11f

作者

psu

发布于

2024-11-06

更新于

2024-11-06

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×