问题标签 [firewalld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 Python,如何检查特定端口是否被远程主机上的防火墙阻止?
我的脚本用例是,我想从本地系统检查远程端口是否正在侦听。
预期行为:
如果端口正在侦听,则返回“正在侦听”
如果端口上没有进程正在运行,则返回 ' open '
如果端口被 firewalld 阻止,则返回 ' blocked '。
我尝试检查套接字中的返回码,但代码不一致。我得到了 103、103、113 等的组合。
docker - 如何让 Docker 容器看到真实的用户 IP?
问题
在nginx-proxy
Docker 容器内(更多信息见下文),我总是为每个连接看到相同的 IP 地址:(172.18.0.1
即nginx-proxy
网络网关)。例如:
无论我是从外部网络、本地机器还是从服务器(主机)本身发出请求,IP 地址始终是172.18.0.1
.
我需要的是查看真实的客户端 IP。
尝试修复
我用谷歌搜索了很多,并尝试了不同的解决方案,但没有一个对我有用。我尝试了以下方法:
- 禁用firewalld(在这种情况下根本不起作用,当然,iptables是空的);
- 使用
--userland-proxy=false
(没有运气); - using
--net=host
(根本不是解决方案,也不起作用)。
相关链接:
那么,有什么想法吗?似乎是 iptables 路由问题或内部 Docker 错误。无论如何,它肯定与 Docker 有关,因为以下显示正确的远程用户 IP:
很奇怪!
现在我将提供有关系统的完整信息,所以请耐心等待。:)
基本的
我安装了 Centos 7.4 和 Docker:
firewalld用作防火墙。
网络配置
接口
共有三个物理接口:
还有一个虚拟桥(enp1s0
和enp2s0
):
防火墙区域
enp3s0 接口连接到 Internet ( --zone=public
),并virbr0
连接到内部本地网络 ( --zone=internal
)。
转发和伪装
IPv4 转发已启用:
并且区域上的伪装public
配置了firewalld:
码头工人配置
Docker 有默认配置。
联网
我只创建了一个网络:
这是它的配置:
图像和容器
我正在使用jwilder/nginx-proxy图像。这是我的docker-compose.yml
:
如您所见,nginx-proxy
容器正在侦听端口80
和443
所有接口。
iptables
容器相关规则
以下是与容器相关的 iptables 规则:
完整的 iptables 规则列表
这是完整的输出iptables-save
:
linux - firewalld 条目以允许本地 LAN 访问 Fedora 25 主机上 QEMU Linux 来宾上的 httpd 服务器
我有一个 Fedora 26 QEMU 来宾 VM,其 LAMP 应用程序在 Fedora 25 主机上运行。我可以从来宾和主机访问来宾 Web 服务器,但我无法从本地 LAN 上的其他系统访问它——我希望能够做到这一点。
我在我的路由器 (LEDE) 中放置了一个主机静态路由条目,以将 F26 访客的静态 IPv4 地址 (192.168.122.186) 路由到 F25 主机。F25 主机已有 virbr0 v-interface (192.168.122.0/24) 的网络路由条目。
似乎 F25 主机防火墙阻止了访问,因为当我在 F25 主机上禁用 firewalld 时,它会按要求工作。
我很感激关于如何在这种类型的配置中争论 firewalld 的指针。
编辑 2017/12/11:
我开始时只有一个 firewalld 区域(公共),但现在我正在尝试 2 个(公共和内部)。下面显示的“服务”(端口)一直是打开的。特别是 http 和 https 是我需要工作的。
我需要将来自本地 LAN 10.3.2.0/24 设备(当然 F25 主机除外)的流量通过 F25 主机路由到 F26 来宾 VM。正如我之前所写,路由似乎正在工作,除非 firewalld 在 F25 主机上运行 - 在这种情况下,此流量被阻止。
我花了很多时间搜索,有两个反复出现的主题,转发和伪装。然而,所建议的一切都没有达到我的要求。
我怎样才能做到这一点?发送
ansible - 使用带有系统事实的 ansible 配置 firewalld
我有以下玩法:
比赛结果如下:
当“source”的值来自“IP_ADDRESS.stdout”的值时,就会发生错误。IP_ADDRESS.stdout 的结果在 ip 地址的末尾添加了一个空格,这会导致失败。当我“硬编码”IP地址时,它可以工作。
谁能指导我如何更正标准输出输出?
谢谢
vpn - Cisco vpn 客户端 over squid
我已经安装了透明代理之类的 squid 服务器(在子网 192.168.1.x 中)。所有用户都使用 squid 从子网 192.168.2.x 访问互联网。我想从用户子网通过 Cisco vpn 客户端连接到 VPN。正如我从互联网上读到的,squid 不能处理非 http 流量。如何绕过 squid 连接到 VPN?
ubuntu-14.04 - 使用 Python3 Loop 在 Firewalld 中添加丰富的规则
我正在尝试使用 Python3 遍历 IP 地址列表,然后使用 firewalld 阻止它们。
注意:我是 Python 的新手,所以请原谅任何简单的错误。
我正在使用 format.rstrip 删除列表中每个 IP 地址后的换行符。
运行脚本时,我收到以下错误;
此错误消息会遍历我列表中的所有 IP 块。
如果我在脚本之外运行 firewall-cmd,我不会收到任何错误消息,并且规则已正确添加。
我认为这个问题可能与我如何在我的 python 脚本中转义字符有关,但据我所知,它们被正确转义了。如果我可以提供任何其他调试信息,请告诉我。
rhel7 - 如何在 firewall-cmd 直接规则中添加端口范围
我想使用 firewall-cmd 使用其直接规则方法添加一系列 OUTPUT 链端口,如下所示:
这说success
但是似乎不起作用
centos7 - centos firewall-cmd 端口转发到目标端口范围不起作用
我正在尝试设置防火墙规则以将 80/tcp 转发到 8080-8081,该规则设置正确,但似乎只是部分工作。
问题是流量总是转发到 8080 而不是 8081,有什么问题吗?
下面是我的环境:
- 在 192.168.30.30 上创建两个 http 服务器,分别监听 8080 和 8081
设置防火墙规则来进行端口转发
firewall-cmd --add-forward-port='port=80:proto=tcp:toport=8080-8081' --permanent
从客户端, curl http://192.168.30.30:80 (始终转发到端口 8080)
以下是我的防火墙设置:
防火墙-cmd --list-all
sysctl -a | grep ip_forward
linux - 将浮动 IP 转发到内部端口
我有 3 个浮动 IP:10.10.1.2 10.10.1.3 和 10.10.1.4 和一个物理 IP:10.10.1.1。10.10.1.1 有 3 个开放端口:9001、9002、9003
是否可以将那些浮动 IP 转发到这些端口?就像 10.10.1.2 将被转发到 10.10.1.1:9001,10.10.1.3 将被转发到 10.10.1.1:9002 和 10.10.1.4 将被转发到 10.10.1.1:9003。
PS:在 CENTOS7 上使用 firewalld 服务
automation - 如何使用 Ansible 更改 Firewalld 区域?
当我运行它时它说成功,但默认接口仍设置为公共区域。是什么赋予了?