有点标题党嫌疑,本质上是chain链顺序问题
问题复现
$ docker run -d -p 11111:80 nginx:alpine$ iptables -A INPUT -p tcp --dport 11111 -j DROP$ curl -I http://localhost:11111HTTP/1.1 200 OKServer: nginx/1.15.1Date: Fri, 07 Sep 2018 09:12:59 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Fri, 06 Jul 2018 16:50:07 GMTConnection: keep-aliveETag: "5b3f9dbf-264"Accept-Ranges: bytes复制代码
如果各位大佬跟我一样,对linux基础知识不牢固,对iptables
仅仅停留在baidu
阶段,会很纠结
$ iptables -L INPUT -nChain INPUT (policy ACCEPT)target prot opt source destination DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:11111复制代码
命名已经添加了DROP
,也已经生效了,咋就是不好使呢?
通过翻查docker文档发现,应该使用
iptables -I DOCKER-USER -p tcp --dport 11111 -j DROP 复制代码
具体知识请自行百度