AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-1072278

Skenja's questions

Martin Hope
Skenja
Asked: 2024-01-24 23:45:19 +0800 CST

OpenVPN 的防火墙配置

  • 5

我正在尝试在运行 Fedora Server 35 的 VPS 上设置 OpenVPN 服务器。我已设置 VPN 并正常工作,但遇到了防火墙设置问题。

这是我第一次管理防火墙,而且我也不是 Linux 本地人,但我正在努力学习。我遵循了 CentOS 实例的指南,但由于 CentOS 已不再存在,所以我选择了 Contabo 中的 Fedora 映像。

该指南依赖于firewalld,并且由于它已经安装并在我的 VPS 上进行了部分设置,因此我也做了同样的事情。我知道这firewalld就是问题所在,因为当我关闭它时,VPN 客户端可以正常连接。

配置了 2 个活动区域,FedoraServer并且trusted。该FedoraServer区域预先配置了 VPS 映像,并且被设置为默认区域。我按照指南使用以下命令来更改配置:

firewall-cmd --zone=trusted --add-service openvpn
firewall-cmd --zone=trusted --add-service openvpn --permanent
firewall-cmd --add-masquerade
firewall-cmd --add-masquerade --permanent
VAR=$(ip route get 1.1.1.1 | awk 'NR==1 {print $(NF-2)}')
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $VAR -j MASQUERADE
firewall-cmd --reload

当前区域信息如下:

[~]# firewall-cmd --info-zone=FedoraServer
FedoraServer (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  forward: no
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
[~]# firewall-cmd --info-zone=trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: tun0
  sources: 
  services: openvpn
  ports: 
  protocols: 
  forward: yes
  masquerade: yes
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

有趣的是,当我设置trusted为默认区域时,我能够连接到正在firewalld运行的 VPN、NAT 工作并可以访问互联网。

现在,你可以说问题解决了。但由于我缺乏知识,我担心我可能会在安全方面留下漏洞,因为该trusted区域使用target: ACCEPT.

我在 StackExchange、Fedora 论坛和 OpenVPN 论坛上阅读了无数的帖子以及firewalld文档,但没有任何结果。我觉得我缺少底层的网络知识来解决这个问题,而且我不知道该搜索什么。

任何帮助、提示或指导将不胜感激!

firewall
  • 2 个回答
  • 73 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve