Tag: firewalld

docker使容器的端口向公众开放

我有nginx的centos7docker集装箱。 尽pipe该端口未在Firewalld中打开,但外部端口80仍然可用。 这里公共区域的规则: # firewall-cmd –zone=public –list-all public (active) target: default icmp-block-inversion: no interfaces: eno3 sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: 但是链中的这个端口有一个自动规则DOCKER: # iptables -L DOCKER Chain DOCKER (1 references) target prot opt source destination ACCEPT tcp — anywhere 172.17.0.2 tcp dpt:http 如何从外面closures这个端口? 我已经跑了命令,但没有帮助: # firewall-cmd –zone=public –remove-port=80/tcp […]

Docker服务在防火墙停止或启动时崩溃

我有两台机器,我用它们做一个docker swarm集群,然后我创build了一个有5个副本的服务来validation负载平衡器是否正常工作,但是我注意到防火墙阻塞了两台机器,所以我添加了所需的端口: firewall-cmd –zone=public –add-port=2377/tcp –permanent firewall-cmd –zone=public –add-port=7946/tcp –permanent firewall-cmd –zone=public –add-port=7946/udp –permanent firewall-cmd –zone=public –add-port=4789/tcp –permanent 一切工作都很好,我唯一的疑问就是防火墙停止或启动后,docker停止工作,我不知道为什么会发生这种情况? 有人能解释我的行为吗? 是否有可能避免这种行为,或者这是一个正常的行为? 提前致谢

如何使Docker容器看到真正的用户IP?

问题 在nginx-proxy Docker容器(下面的更多信息)里面,我总是看到每个连接都有相同的IP地址: 172.18.0.1 (这是nginx-proxy网关)。 例如: nginx.1 | www.my-site.tld 172.18.0.1 – – [28/Nov/2017:17:22:21 +0000] "GET /some/path HTTP/2.0" 200 46576 "https://www.my-site.tld/some/path" "Mozilla/5.0 (Linux; Android 4.4.2; PSP5507DUO Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 YaBrowser/17.10.0.446.00 Mobile Safari/537.36" 无论是从外部networking,本地机器还是从服务器(主机)本身发出请求,IP地址始终为172.18.0.1 。 我需要的是看到真正的客户端IP。 尝试修复 我search了很多,尝试了不同的解决scheme,但都没有为我工作。 我尝试了以下内容: 禁用firewalld(在这种情况下什么都不起作用,当然iptables是空的)。 使用–userland-proxy=false (没有运气); 使用–net=host (根本不是解决scheme,也不工作)。 相关链接: https://github.com/jwilder/nginx-proxy/issues/130 https://github.com/jwilder/nginx-proxy/issues/133 那么,有什么想法? 似乎是iptables路由问题或内部的Docker错误。 无论如何,它肯定与Docker有关,因为以下显示正确的远程用户IP: [root@server]# nc -lv 12345 […]