首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何限制从互联网访问远程linux服务器上的容器端口?

如何限制从互联网访问远程linux服务器上的容器端口?
EN

Stack Overflow用户
提问于 2018-10-15 16:25:50
回答 1查看 365关注 0票数 0

我在远程服务器上的ubuntu 18上使用docker-compose。使用iptables,我如何阻止从互联网到docker端口的访问,而只允许从该服务器的本地主机访问它?

例如,我想阻止互联网的4150端口。尝试这样做:iptables -A DOCKER-USER -p tcp --dport 4150 -j DROP不会阻止端口-仍然可以从互联网访问它(不是从服务器机器)。

如何阻止internet访问服务器上的所有端口,但只允许22,80个端口?并保持该端口在服务器的本地主机上可用(例如,从服务器本身)?

EN

回答 1

Stack Overflow用户

发布于 2018-10-16 08:11:56

不是您正在寻找的基于IPTables的解决方案,但更简单的解决方案是只发布到特定的接口,而不是所有的接口。当该接口是环回接口时,例如127.0.0.1,您将只能在本地访问该端口。要执行此操作,请将接口添加到发布规范的开头:

代码语言:javascript
复制
docker run -p 127.0.0.1:4150:4150 ...

代码语言:javascript
复制
...
  ports:
  - 127.0.0.1:4150:4150
...

至于为什么您尝试使用的命令不起作用,我认为您需要包含一个-m tcp来匹配TCP端口号:

代码语言:javascript
复制
iptables -A DOCKER-USER -p tcp -m tcp --dport 4150 -j DROP
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52812543

复制
相关文章

相似问题

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