iptables配置docker服务端口访问限制

iptables配置docker服务端口访问限制

服务器系统为 CentOS 7

PS:CentOS 7自带iptables,但不自带iptables-services。建议需要部署一下:yum install iptables-services

过程

遇到了一个需求,需要用iptables限制一个rabbitmq服务端口只能由指定的ip访问,安装之前的直接限制就行

iptables -A INPUT -s 允许访问的ip -p tcp -m tcp --dport 5672 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5672 -j DROP

执行完后使用iptables -L -n命令可以查看当前所有的iptables规则。

但是很遗憾,并没有什么卵用,不管是别的服务器的统统都能访问。所以是为什么呢?

因为rabbitmq服务是用docker起的,docker会往系统中注册一个虚拟网卡叫docker0,访问docker服务的流量会直接被转发到这张网卡上,而因为docker0在linux系统中会被视为一张网卡,所以他的iptables规则是独有的,刚才设置的INPUT对docker服务是不生效的。

# docker规则
Chain DOCKER (1 references)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:15672
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.2           tcp dpt:5672
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.3           tcp dpt:27017
ACCEPT     tcp  --  0.0.0.0/0            172.17.0.4           tcp dpt:6379

解决办法

此时执行

iptables -I DOCKER -p tcp --dport 15672 -j DROP
iptables -I DOCKER -s 127.0.0.1 -p tcp --dport 15672 -j ACCEPT
iptables -I DOCKER -s 10.194.24.59 -p tcp --dport 15672 -j ACCEPT
iptables -L -n

image-20240201141621006

就可以看到DOCKER规则中新增了刚执行的规则

保存规则并重启

service iptables save
service iptables restart
iptables -vxnL

扩展

iptables -A,-A的意思是加在最后,而iptables的匹配顺序是从上到下,所以用-A往最后追加的话,那就是【先写先匹配】

iptables -I,-I的意思是加在最前,也就是上面截图中的效果,明显是在规则链的最前面,那用-I往前追加的话,就是【先写后匹配】了

参考

1.https://zhuanlan.zhihu.com/p/457250110?utm_id=0

评论

  1. Macintosh Chrome 121.0.0.0
    12 月前
    2024-2-02 13:52:49

    什么时候才能像你一样优秀

    • 博主
      关关
      Windows Edge 118.0.2088.76
      11 月前
      2024-2-10 23:49:34

      为啥最近你们俩的评论都进了垃圾箱

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇