首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义链中的iptable规则无效

问自定义链中的iptable规则无效
EN

Unix & Linux用户
提问于 2020-07-08 16:11:54
回答 2查看 673关注 0票数 2

我不是iptables专家,有两个奇怪的行为需要修复!

问题1:为什么不禁止我?

我有一个定制的链式f2b-nginx-naxsi,它有以下可修改的规则:

代码语言:javascript
复制
$ sudo iptables -S f2b-nginx-naxsi
-N f2b-nginx-naxsi
-A f2b-nginx-naxsi -s 81.250.100.81/32 -j REJECT --reject-with icmp-port-unreachable #<== Here
-A f2b-nginx-naxsi -j RETURN

81.250.100.81是我的公共知识产权,所以我应该被禁止。

它不起作用。规则是无效的!

该链从INPUT链加载,如下所示:

代码语言:javascript
复制
sudo iptables -S INPUT
-P INPUT ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -j f2b-nginx-naxsi    #<== Here
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -j INPUT_direct
-A INPUT -j INPUT_ZONES_SOURCE
-A INPUT -j INPUT_ZONES
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited

问题2:为什么我被禁止进入SSH而不是:80 ?

为了修复问题1,我采用了前面的规则,并将其设置在INPUT链中:

-I INPUT -s 81.250.100.81/32 -j REJECT --reject-with icmp-port-unreachable

按回车后,我和机器断开了连接,lol。

但出于某些原因我还是可以在浏览器上打开我们的nginx ..。

为什么它杀死了SSH (22)而没有标准的http连接(80)

提前准备好,

;-)

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-09-01 15:20:23

我终于找到了谜团的真相!

这个问题来自于停靠者,它正在推翻我的iptable规则.

为了将传入的连接放到码头容器中,您必须将规则放置在一个名为DOCKER-USER的链中。

这个链是由Docker自己创建的,这些规则将优先于那些来自码头引擎的规则。

例如,要在端口443上禁止特定的IP (例如来自fail2ban ):

sudo iptables -I DOCKER-USER -i eth0 -s <SPECIFIC_IP> -p tcp --dport 443 -j DROP

(将eth0更改为任何外部接口)

  • 不要忘记设置端口,否则规则可能适用于您的SSH端口(22),您将禁止自己.
  • 如果您试图阻止对码头容器的访问,则向INPUT链添加规则将无法工作。
  • 名为DOCKER的连锁店仅用于码头作业。不要在里面放任何东西。
票数 0
EN

Unix & Linux用户

发布于 2020-07-08 18:38:18

故障排除步骤:

  1. 检查多端口iptables模块是否已加载: lsmod \ grep多端口#应该在输出中看到类似xt_multiport或ipt_multiport的内容
  2. 验证您的nginx服务器实际上正在侦听端口80和或443。您可以在代理后面进行配置。sudo -tlnp \ grep #应该看到nginx被列出监听这两个端口中的一个

(编辑)

2b。检查您的码头主机上的哪个端口(S)映射到nginx容器。

代码语言:javascript
复制
    docker port <container_name>

This command should show which port(s) you need to use in your custom IPtables chain running on the container host.
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/597408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档