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-382669

TheClockTwister's questions

Martin Hope
TheClockTwister
Asked: 2020-10-18 08:50:41 +0800 CST

iptables,wireguard:VPN 和 LAN 之间的 2 路路由

  • 1

我正在使用 WireGuard 设置 VPN,并且在相应的 VPN 服务器上配置我的防火墙时卡住了。我想要以下功能:

  • VPN 设备 ( 10.6.0.0/24) 可从 LAN ( 10.20.0.0/24) 获得(问题!)
  • 10.20.0.0/24可从 VPN ( ) 获得的LAN 设备 ( 10.6.0.0/24)(有效!)

当前的 iptables 配置:

向任何方向转发来自现有(已打开)连接的所有流量

iptables -t filter -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

这使得 LAN 设备可以从 VPN 获得(工作正常)

# Direction: VPN -> LAN -------------------------------------------------------------
iptables -t nat -A PREROUTING -d 10.20.0.0/24 -j DNAT --to-destination 10.6.0.1     # Act as destination NAT from VPN to LAN (be the LAN-gateway for the VPN)
iptables -t filter -A FORWARD -s 10.6.0.0/24 -d 10.20.0.0/24 -j ACCEPT              # Accept traffic from VPN to LAN
iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -d 10.20.0.0/24 -j MASQUERADE         # Mask traffic from VPN to LAN for responses

这将使 VPN 设备可以从 LAN 中使用(需要帮助!)

# Direction: LAN -> VPN -------------------------------------------------------------
iptables -t filter -A FORWARD -s 10.20.0.0/24 -d 10.6.0.0/24 -j ACCEPT              # Accept traffic from LAN to VPN
iptables -t nat -A POSTROUTING -s 10.20.0.0/24 -d 10.6.0.0/24 -j MASQUERADE         # Mask traffic from LAN to VPN for responses

目前的发现:

通过查看这些规则,我可能在下部错过了另一个 DNAT/SNAT,但我仍然无法弄清楚......

VPN 接口上的接口计数器显示,ping 被发送到 VPN 客户端并返回!所以问题似乎是到达的 VPN 数据包要被转换并转发到 LAN。

如果需要更多信息,请询问:) 感谢您的宝贵时间!

vpn nat iptables wireguard
  • 1 个回答
  • 3083 Views
Martin Hope
TheClockTwister
Asked: 2020-05-01 07:44:14 +0800 CST

一个网卡上的多个接口

  • 1

我设法在我的 Banana Pi R2 上安装了 Debian。

该设备有两个物理网卡:一个用于 WAN(1 个端口),一个用于 LAN(4 个端口)。

  • eth0
  • eth1

如果我运行ip address,我可以看到,“本机”接口“上”有多个接口,我可以将其识别为板上的各个 LAN 端口:

root@bpi-r2:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::2:2ff:fe02:202/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 36:d1:02:41:61:c9 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::34d1:2ff:fe41:61c9/64 scope link
       valid_lft forever preferred_lft forever
4: wan@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 36:d1:02:41:61:c9 brd ff:ff:ff:ff:ff:ff
    inet 10.20.0.88/24 brd 10.20.0.255 scope global wan
       valid_lft forever preferred_lft forever
    inet6 fe80::34d1:2ff:fe41:61c9/64 scope link
       valid_lft forever preferred_lft forever
5: lan0@eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global lan0
       valid_lft forever preferred_lft forever
6: lan1@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
7: lan2@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
8: lan3@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 02:02:02:02:02:02 brd ff:ff:ff:ff:ff:ff
root@bpi-r2:~#

我在...中找不到这些“lan*”和“wan”接口的任何提示/etc/network/interfaces我知道如何创建和管理虚拟接口,但我只知道它们eth0:2,例如...当我尝试分配静态 IP 时将以下内容写入/etc/network/interfaces,网络服务无法调出界面:

iface lan0 inet dhcp
iface wan inet static
    ...

那么这些接口来自哪里以及如何管理它们(添加静态 IP 或 DHCP 等)

编辑1:输出ls /sys/class/net:

root@bpi-r2:~# ls /sys/class/net
eth0  eth1  lan0  lan1  lan2  lan3  lo  wan
root@bpi-r2:~#

找到一个工作配置:

auto lan0 wan

iface wan inet static
        address 137.226.214.58
        netmask 255.255.254.0
        pre-up ip link set $IFACE up
        post-down ip link set $IFACE down
        gateway 137.226.214.1

iface lan0 inet static
        address 10.20.0.88
        netmask 255.255.255.0
        pre-up ip link set $IFACE up
        post-down ip link set $IFACE down
interface linux-networking
  • 2 个回答
  • 887 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