首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FirewallD丢弃码头包

FirewallD丢弃码头包
EN

Unix & Linux用户
提问于 2018-05-15 21:42:39
回答 1查看 2.7K关注 0票数 0

解出 --参见下面的更新。

我在服务器上安装了outline-server (链接),不幸的是,FirewallD删除了来自outline-client的所有数据包。

我的系统:

代码语言:javascript
复制
Ubuntu 18.04 x64
Linux x 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

FirewallD版本:0.4.4.5

码头版本:Docker version18.05.0-ce, build f150324

FirewallD规则:

代码语言:javascript
复制
root@x:~# firewall-cmd --get-active-zones
public
  interfaces: ens3 docker0

root@x:~# firewall-cmd --list-ports
{outline_server_port}/tcp {outline_server_port}/udp

在这个链接上的答案也没有帮助。

Outline-Manager工作得很好,例如:我可以创建键并成功地连接,但是Outline客户端给出了以下错误:

发生了网络错误。如果再次发生这种情况,请提交反馈。

当我使用以下命令停止FirewallD时:

systemctl stop firewalld.service

大纲-客户端工作正常,当我启动FirewallD时,它不再工作了。

以下是来自FirewallD状态的

代码语言:javascript
复制
root@x:~# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2018-05-15 23:37:31 CEST; 8s ago
     Docs: man:firewalld(1)
 Main PID: 2479 (firewalld)
    Tasks: 2 (limit: 1113)
   CGroup: /system.slice/firewalld.service
           └─2479 /usr/bin/python3 -Es /usr/sbin/firewalld --nofork --nopid

May 15 23:37:31 x systemd[1]: Starting firewalld - dynamic firewall daemon...
May 15 23:37:31 x systemd[1]: Started firewalld - dynamic firewall daemon.
May 15 23:37:32 x firewalld[2479]: WARNING: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -n -L DOCKER-USER' failed: iptables: No chain/target/match by that name.
May 15 23:37:32 x firewalld[2479]: WARNING: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C DOCKER-USER -j RETURN' failed: iptables: Bad rule (does a matching rule exist in that chain?).
May 15 23:37:32 x firewalld[2479]: WARNING: COMMAND_FAILED: '/sbin/iptables -w2 -t filter -C FORWARD -j DOCKER-USER' failed: iptables: No chain/target/match by that name.

我让

  1. 在FirewallD上伪装(firewall-cmd --add-masquerade)
  2. 还启用了ipv4数据包转发(vim /etc/sysctl.conf & net.ipv4.ip_forward=1)

现在我的问题是:如何配置FirewallD以允许大纲-客户端数据包?

非常感谢。

轮廓使用码头。

更新2018.05.16:

该问题存在于outline为每个新的密钥AKA客户端在docker容器中创建的唯一端口中,因此要修复该问题,请执行以下操作:

运行以下命令(非常感谢@abe)

代码语言:javascript
复制
ss -tlp

现在,将显示所有ss-服务器及其相关端口,例如,我的服务器如下所示:

代码语言:javascript
复制
root@dockerTest:~# ss -tlp
State              Recv-Q              Send-Q                            Local Address:Port                               Peer Address:Port                                                                      
LISTEN             0                   128                                     0.0.0.0:12615                                   0.0.0.0:*                  users:(("ss-server",pid=1162,fd=5))                    
LISTEN             0                   128                               127.0.0.53%lo:domain                                  0.0.0.0:*                  users:(("systemd-resolve",pid=617,fd=13))              
LISTEN             0                   128                                     0.0.0.0:ssh                                     0.0.0.0:*                  users:(("sshd",pid=824,fd=3))                          
LISTEN             0                   128                                        [::]:ssh                                        [::]:*                  users:(("sshd",pid=824,fd=4))                          
LISTEN             0                   128                                           *:47515                                         *:*                  users:(("node",pid=1103,fd=12))                        

现在,从输出中可以看到,ss-server使用端口"12615",我们应该在FirewallD中允许这个端口。为此,运行以下命令:

代码语言:javascript
复制
firewall-cmd --add-port=12615/tcp
firewall-cmd --add-port=12615/udp

检查大纲-客户端,它应该连接。

如果一切正常工作,请运行以下命令,以使更改永久化

代码语言:javascript
复制
firewall-cmd --add-port=12615/tcp --permanent
firewall-cmd --add-port=12615/udp --permanent

“非常感谢,”亚伯说,“我非常感谢你的帮助。

EN

回答 1

Unix & Linux用户

发布于 2018-05-15 23:55:03

将http或https端口添加到firewalld如何?

代码语言:javascript
复制
firewall-cmd --add-service=https --permanent

我认为jason是一个web应用程序,所以客户端连接到服务器

http或https协议。

票数 -1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/444025

复制
相关文章

相似问题

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