在Linux下限制端口仅对指定IP开放访问的方法

电子说

1.3w人已加入

描述

主机服务端口

 

$ iptables -I INPUT -p tcp --dport 80 -j DROP
$ iptables -I INPUT -p tcp -s 1.2.3.4 --dport 80 -j ACCEPT

 

这里仅允许 1.2.3.4 访问本地主机的 80 端口。

Docker 服务端口

对于类似 docker run -d -p 80:80 shaowenchen/demo-whoami 运行的服务,上面的方法无效,需要在 DOCKER-USER 链中添加规则。

Docker 会将 iptables 规则添加到 DOCKER 链中,如果需要在 Docker 之前添加规则需要添加到 DOCKER-USER 链中

 

$ iptables -I DOCKER-USER -i ens192 ! -s 1.2.3.4 -p tcp --dport 80 -j DROP

 

ens192 是本地的网卡,这里仅允许 1.2.3.4 访问本地主机的 80 端口。

清理环境

 

$ yum install -y iptables-services
$ systemctl restart iptables.service

 

如果需要在主机重启之后 iptables 设置,依然有效,需要安装 iptables-services 并保存

 

$ yum install -y iptables-services
$ service iptables save

 


审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分