如果 iptables 和 xtables 的 geoip 集不是 US,则删除所有端口 22

如果 iptables 和 xtables 的 geoip 集不是 US,则删除所有端口 22

我想简单地阻止来自美国以外任何地方的所有 ssh 访问。这是我的整个iptables,我已经关注了http://www.howtoforge.com/xtables-addons-on-centos-6-and-iptables-geoip-filtering

# Generated by iptables-save v1.4.7 on Wed Jul  3 02:30:42 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1749:280570]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j DROP
-A INPUT -m geoip --src-cc US --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3000:3050 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Jul  3 02:30:42 2013

我已经这样做了-A INPUT -m geoip --src-cc US --dport 22 -j ACCEPT,目标是只接受来自管理员工作所在的美国的 ssh。截至目前我收到一个错误。

iptables: Applying firewall rules: iptables-restore v1.4.7: Couldn't load match `geoip':/lib64/xtables/libipt_geoip.so:
cannot open shared object file: No such file or directory Error occurred at line: 10

更新 我已经搜索过该文件,但找不到任何内容。浏览了一下操作方法,发现 Xtables-addons 版本是 1.37,所以我将其更新为 2.5,但没有任何变化。我查看了一下/lib64/xtables/,发现有大量文件,但没有 geoip 文件。所以我认为这就是我需要开始纠正 Xtables-addon 安装的地方。

答案1

今天遇到这个问题,终于解决了。是因为selinux的原因,所以关闭selinux,系统启动后再打开即可。这对我有用,你可以尝试一下:)

将 selinux 设置为宽松

sudo vim /etc/selinux/config

SELINUX=宽容

通过 rc.local 设置 selinux 强制执行

vim /etc/rc.d/rc.local

设定力1

相关内容