linux服务器默认通过22端口用ssh协议登录,这种不安全。今天想做限制,即允许部分来源ip连接服务器。

案例目标:通过iptables规则限制对linux服务器的登录。

处理方法:编写为sh脚本,以便多次执行。iptables.sh

iptables -I INPUT -p tcp --dport 22 -j DROP -m comment --comment "ssh"
# 按ip范围区间开放
iptables -I INPUT -p tcp -m iprange --src-range 172.18.163.227-172.18.163.232 --dport 22 -j ACCEPT -m comment --comment "ssh"

# 按网段开放
iptables -I INPUT -p tcp -s 10.99.193.0/24 --dport 22 -j ACCEPT -m comment --comment "ssh"

简要说明:这里默认使用filter表的INPUT链,使用-I插入方式,第一条DROP操作顺序不能错,必须是首条。

对于已经插入的规则,可以使用下面的命令进行查看:

iptables -t filter -nvL --line-number |grep ssh

如果后面需要删除规则,可以按照下面的方式处理:

iptables -t filter -D INPUT 3

说明一下:这里删除iptables规则,指定了filter表的INPUT链,避免出错。
根据上一步查看的规则的行号来删除,查看到相应的规则编号之后,最好从最大的编号开始逐条删除。

参考:iptables使用详解(示例如何屏蔽docker 暴露的端口)