问题标签 [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.
centos7 - 端口打开时 telnet 超时
我买了一个 VPS 并在上面构建了一个 shadowsocks 服务器。它运行了大约 2 个月,但突然无法工作,即我无法使用它克服 GFW。所以我检查了服务器,重新安装了所有东西,检查了防火墙,但仍然无法解决问题。请帮我解决这个难题!
首先,我可以 ssh 到服务器。我使用的是mac,服务器操作系统是CentOS7。
我试图从 mac ping 服务器,它可以连接。
然后我使用我在 shadowsocks 中定义的特定端口远程登录它,但它无法连接。
所以从服务器我检查netstat:
端口是 8754,PID3652 是我的 shadowsocks 服务。
我还检查了我的防火墙设置,并且端口 8754 是打开的,
我还检查了 iptables,这是返回的内容:
我不知道该检查什么或现在该做什么...请指教...非常感谢!
docker - 部署和保护 Docker 容器和服务器操作系统
我正在运行 CENTOS 服务器,并将在其之上安装 Docker 引擎,不用说,我将设置我的容器。我将首先设置两个容器:(1) 提供我的网页 (2) 运行我的数据库。
我的想法是在 CentOS 上安装 FirewallD。我的问题如下:
我是否需要在容器本身内安装某种防火墙?如果是这样,高层可以告诉我这是如何完成的,以及我将在容器级别安装什么防火墙?
我是否需要在 CENTOS 上运行的 FirewallD 中打开一些端口才能访问 Docker 引擎/容器?
如您所知,这将是我第一次使用容器进行开发,所以我是否需要先在服务器上创建容器,然后从我的开发机器将容器推送到已识别的容器?
如果我能在这里得到一些指导,我将不胜感激,因为我的任务是这样做,但不确定正确的路径。
再次感谢。
我真的没有尝试太多,因为我不知道从哪里开始。目前我刚刚对我的用例进行了一些研究。
docker - RHEL7 dockerd 远程连接
我正在探索创建一个可以在 rhel7 系统上启动和停止 docker 容器的网关。我已经对我的 /usr/lib/systemd/system/docker.service 进行了更改,以在具有以下内容的接口上启动 docker。
除非我禁用防火墙,否则我无法连接到 dockerd 以获取容器的状态。但是如果我禁用防火墙,我就无法启动容器。
我意识到为 dockerd 运行开放的 tcp 端口会产生后果。之前,我得到了一切安全,我想了解网关如何做这样的事情。
有没有其他人有做这样的事情的经验?
python - 使用 python 从 dbus 获取“状态”
我想在 python 中做一件非常简单的事情——通过 dbus 从 firewalld 读取状态——“org.freedesktop.DBus.Properties”。
根据https://firewalld.org/documentation/man-pages/firewalld.dbus.html
我找到了如何使用来自 linux 的 dbus-send 来做到这一点,但我无法在 python 中正确使用它。
这是对我的问题最接近的答案,但我仍然无法弄清楚。[ dbus_to_python() 正好需要 1 个参数?
这是我从 python 得到的错误信息:
oracle - 我们如何将oracle 1521端口转移到另一台机器的9800端口
我想用firewalld将oracle A的1521端口转移到B 9800,在这里我可以使用B:9800访问A的oracle。我设置了一个新的 tnsnames.ora 有 B:9800
这是我测试的代码,但它不起作用
我试过了,用tnsping测试新的tnsname,得到“ORA-12569:TNS:包和失败”</p>
loops - 该任务包括一个带有未定义变量的选项
我有以下 vars 文件和 Ansible 任务,它允许防火墙上特定源 IP 的某些端口。
但由于某种原因,每当我运行任务时,我都会收到此错误:
FAILED! => {"msg": "The task includes an option with an undefined variable.
即使我能够使用debug
Ansible 模块回显这些变量,所以基本上我只是无法在此任务中专门使用这些变量。
Ansible 任务:
变量文件:
logging - 我如何阻止所有 ssh 连接,除了来自 firewalld 中特定来源的连接,还记录被拒绝的 ssh 连接
如何在 firewalld 中阻止除来自 192.168.1.1 的所有 ssh 连接,同时记录被拒绝的 ssh 连接?
我试过了:
这会阻止它们,但不会记录被拒绝的 ssh 连接。
docker - Docker 主机和 check_mk 代理为什么无法寻址端口 6556?
我有 Ubuntu 16.04 主机并安装check_mk agent
在上面,一切正常。然后我安装docker
了它,现在我无法访问端口 6556 并且check_mk checks
也失败了。我尝试了每个 docker KB 但没有运气 - 在 Docker 规则之前添加 iptables 策略。如何解决这个问题?
信息:
Docker 的所有 iptables 规则都添加到 DOCKER 链中。不要手动操作此表。如果您需要添加在 Docker 规则之前加载的规则,请将它们添加到 DOCKER-USER 链中。这些规则在 Docker 自动创建的任何规则之前加载。
我试过了:
fail2ban - 在 Centos 7 中将 fail2ban 行为与 firewallD 混淆
我在 Centos 6 服务器中使用了 fail2ban/iptables。
我搬到了 Centos 7,现在我正在使用 fail2ban/firewallD(由 Webmin/Virtualmin 安装,默认设置)
这些是 仅显示 的cat /var/log/maillog | grep "disconnect from unknown"
屏幕截图
cat /var/log/fail2ban.log | grep Ban
2019-10-27 16:52:22,975 fail2ban.actions [8792]:通知 [proftpd] Ban 111.225.204.32
此外tailf /var/log/fail2ban.log
显示多个“已被禁止”的同一 IP。在这种情况下,fail2ban,在maxretry
达到后它会尝试禁止 IP。
这是我的配置(部分),我将它们保留为默认设置,但更改了bantimes。
监狱本地
[后缀]
enabled = true
端口 = smtp,465,submission
bantime = -1[postfix-sasl]
启用 = true
端口 = smtp,465,submission,imap3,imaps,pop3,pop3s
bantime = -1[dovecot]
启用 = true
端口 = pop3、pop3s、imap、imaps、submission、465、sieve
bantime = -1
监狱.conf
[默认]
findtime = 600
maxretry = 5
backend = auto
filter = %(__name__)s
port = 0:65535
banaction = iptables-multiport
banaction_allports = iptables-allports
action_ = %(banaction)s[name=%(__name__)s, bantime="%(bantime)s", port="% > (port)s", protocol="%(protocol)s", chain="%(chain)s"]
action = %(action_)s
jail.d/00-firewalld.conf
[默认]
banaction = firewallcmd-ipset
这些文件存在:action.d/firewallcmd-ipset.conf和filter.d/postfix.conf
firewall-cmd --direct --get-all-rules
ipv4 filter INPUT_direct 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-default src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport - -dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports 10000 -m set --match-set fail2ban-webmin-auth src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh,sftp -m set --match-set fail2ban-ssh-ddos src - j REJECT --reject-with icmp-port-unreachable
手动运行后
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='193.56.28.0/24' reject"
,
firewall-cmd --reload
此输出
停止。 tailf /var/log/fail2ban.log
我怎样才能让所有这些 IP 在它们达到maxretry
价值后被禁止?尽管服务重新启动或重新加载,它们会被永远禁止吗?
编辑 1:
从 fail2ban.log 与 action=firewalld-cmd ipset
从带有 action=iptables-allports 的 fail2ban.log
编辑2:
似乎(我猜)有些东西正在刷新配置(我猜它会是Webmin),因为过了一段时间我开始收到错误日志,failed to execute ban jail 'dovecot' action iptables-allports
所以我正在尝试这个:在actions.d中创建banning.conf
在 jail.local
但我Error in action definition banning
知道这不是解决方案。
在移动服务器之前,我多年来一直在使用 fail2ban/iptables(不是 firewalld),而无需注意默认设置。
tcp - Firewalld - 将 eth1:0 上收到的流量转发到与 eth1 不同的 IP
我在firewalld中有以下两个区域:
eth1 是 172.16.1.1 的真实网卡 eth1:0 是 172.16.1.2 的虚拟网卡
在一台物理机器上。
它们由
我需要的是当我用网络浏览器点击 172.16.1.1 时能够看到 192.168.0.1 上的网站,当我用网络浏览器点击 172.16.1.2 时能够看到 192.168.0.2 上的网站。
例如。我想通过端口 80 和 443 将流量转发到 eth1 (172.16.1.1) 上的 192.168.0.1 和 eth1:0 (172.16.1.2) 上的 192.168.0.2。
使用上述配置,firewalld / iptables IGNORES eth1:0 - 例如,如果我点击 172.16.1.1,我会在 192.168.0.1 上获得网站。但是如果我点击 172.16.1.2 我仍然会在 192.168.0.1 上获得网站,而不是 192.168.0.2
例如。虚拟网卡 eth1:0 似乎等同于 firewalld,因为 eth1 - 端口 80 上到 172.16.1.1 (eth1) 或 172.16.1.2 (eth1:0) 的 HTTP 流量都被发送到 192.168.0.1,忽略转发规则集在 eth1:0 上。
如何获得由 firewalld 控制的 firewalld / iptables 到
将 172.16.1.1 (eth1) 上 :80 和 :443 接收到的流量转发到 192.168.0.1
和
将 :80 和 :443 上 172.16.1.2 (eth1:0) 接收到的流量转发到 192.168.0.2
而不仅仅是将 172.16.1.1 和 172.16.1.2 上的所有流量转发到 192.168.0.1?
谢谢!