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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1383477
Accepted
Paul G
Paul G
Asked: 2021-12-24 07:34:11 +0800 CST2021-12-24 07:34:11 +0800 CST 2021-12-24 07:34:11 +0800 CST

VPN/WIreguard 在内部和外部转发流量

  • 772

这可能更像是一个 Linux 防火墙问题,但上下文是 Ubuntu 上的 Wireguard VPN 设置。请注意,我几乎不熟悉这些东西。

我在 Digital Ocean Ubuntu 上启动并运行了 Wireguard,Windows 和 Android 客户端都在使用它。一切似乎都很好。

我在出现时使用的基本防火墙命令如下: 因此,第 3 行似乎将所有进入wg0(私有 VPN)的流量通过公共eth0接口路由出去。正如它应该(几乎?),它工作正常。Wgo/Private 网络是10.8.0.1/24,服务器是10.8.0.1. 当客户端流量进入下面的服务器10.8.0.x(专用网络中的另一个地址)时,它会超时。

我“认为”这是因为它试图通过路由eth0?如果是这样,我如何确保发往私有子网的流量仍然使用wg0接口?如果没有,还有其他建议吗?

PreUp = sysctl -w net.ipv4.ip_forward=1
PreUp = sysctl -w net.ipv6.conf.all.forwarding=1
PostUp = ufw route allow in on wg0 out on eth0
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PostUp = ip6tables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
PreDown = ufw route delete allow in on wg0 out on eth0
PreDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PreDown = ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostDown = sysctl -w net.ipv4.ip_forward=0
PostDown = sysctl -w net.ipv6.conf.all.forwarding=0
iptables
  • 1 1 个回答
  • 910 Views

1 个回答

  • Voted
  1. Best Answer
    Anders F. U. Kiær
    2021-12-25T06:19:32+08:002021-12-25T06:19:32+08:00

    如果您的默认策略是在 iptables/ufw 中删除或拒绝转发。那么你很可能错过了允许流量在不同的wireguard接口之间流动或在同一个接口上进出的防火墙/ufw条目。

    您可以检查您的 dmesg 是否有[UFW BLOCK]消息。

    允许在同一个 wg 接口上不受限制地流入和流出 PostUp = ufw route allow in on wg0 out on wg0

    我更喜欢直接修改配置文件sudo vim /etc/ufw/before.rules 去过滤,在需要的行结束后可以添加你需要的转发规则。例如:

    -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ACCEPT

    这将允许从接口 wg0 上的(-s 标志)10.8.0.1/24 到接口 wg0 上的(-d 标志)10.8.0.1/24 的流量。-i 是输入接口,-o 是输出接口。

    如果您更喜欢使用 up\down 方式,可以在命令前添加 iptables。

    iptables -A ufw-before-forward -i wg0 -s 10.8.0.1/24 -o wg0 -d 10.8.0.1/24 -j ACCEPT

    祝你好运 :)

    • 0

相关问题

  • iptables 规则强制所有浏览器使用代理

  • iptables 重定向的奇怪问题

  • iptables 允许动态域名和自动更新规则

  • ubuntu 上的 iptables 和 nmap

  • iptables 的图形用户界面?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve