跨子网桥接互联网连接

跨子网桥接互联网连接

我有一台 Linux 机器 (100.60.120.12,vlan 标记 (id:21),默认网关:100.60.120.11),我想让其访问互联网。我无法更改此 Linux 机器中的设置。

我有 2 个选择 - (a)将 Linux 机箱连接到附近可以访问互联网的 PC,然后以某种方式使用该 PC 为 Linux 机箱提供互联网访问。 (b)使用路由器为 Linux 机箱提供互联网访问。

我觉得选项 (b) 可能是更好的选择。因此设置如下:

Linux 机箱 <-> 运行 dd-wrt ​​的 tp-link tl-wr841nd(IP:192.168.1.2)<-> tp-link Archer(IP:192.168.1.1,提供互联网访问)。

我尝试在 dd-wrt ​​中设置 vlan 选项,这样我就可以从 Linux 机器 ping 192.168.1.2。但我无法 ping 192.168.1.1,也无法 ping 互联网 IP(例如 8.8.8.8)——它说主机不可访问)。

我怎样才能让 Linux 机器访问互联网?

编辑-vlan 设置和 IP 地址

VLAN 标签

VLAN 网络配置(已删除 MAC 地址)

IP地址100.64.121.12 在接口 eth0.21 上;其余的在 br0 上。

编辑 2-IP 路由和 IP 地址信息

注意:我使用了 eth1,因为我意识到那是 LAN 端口。在 eth1 上设置 vlan 标记 21 后,我可以从 Linux 机器 ping 100.64.121.11。但我无法 ping 互联网 IP。在这种情况下,以下是评论中要求的一些进一步信息。

ip route

100.64.121.0/24 dev eth1.21 scope link  src 100.64.121.11 
127.0.0.0/8 dev lo scope link 
192.168.1.0/24 dev br0 scope link  src 192.168.1.2

ip addr

1: lo:  mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc sfq master br0 state DOWN qlen 1000
    link/ether 10:fe:ed:df:f8:3f brd ff:ff:ff:ff:ff:ff
3: eth1:  mtu 1500 qdisc sfq master br0 state UP qlen 1000
    link/ether 10:fe:ed:df:f8:40 brd ff:ff:ff:ff:ff:ff
11: br0:  mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 10:fe:ed:df:f8:3f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global br0
       valid_lft forever preferred_lft forever
12: wlan0:  mtu 1500 qdisc noqueue master br0 state UP 
    link/ether 10:fe:ed:df:f8:40 brd ff:ff:ff:ff:ff:ff
13: eth1.21@eth1:  mtu 1500 qdisc noqueue state UP 
    link/ether 10:fe:ed:df:f8:40 brd ff:ff:ff:ff:ff:ff
    inet 100.64.121.11/24 brd 100.64.121.255 scope global eth1.21
       valid_lft forever preferred_lft forever

答案1

您的 VLAN 配置似乎正确,但是:

  1. DD-WRT 网关缺少默认路由(又称默认网关)在其路由表中。如果没有它,它只知道通往两个直接连接子网的路径,而不知道通往世界其他地方的路径。

    配置192.168.1.1为默认网关,这样ip route会显示:

    default via 192.168.1.1 dev br0
    
  2. Archer 网关缺少另一个方向的路由——通往 100.64.121.0/24 网络。如果没有它,Linux 设备就可以发送数据包但无法收到任何反馈。

    通过 DD-WRT 配置到 100.64.121.0/24 的静态路由(具体来说通过 192.168.1.2 – 面向 Archer 的地址)。

    如果 Archer 固件不允许您配置静态路由,另一种方法(即“胶带”方法)是在 DD-WRT 上启用 NAT 或伪装(与通常从 LAN 到 WAN 接口使用的 NAT 相同)。启用 NAT 后,Archer 网关将只能看到 192.168.1.2,而看不到新网络。

答案2

情况:

我有一个 Linux 机箱(100.60.120.12,vlan 标记(id:21),默认网关:100.60.120.11),我正在尝试让其访问互联网。

Linux 机箱 <-> 运行 dd-wrt ​​的 tp-link tl-wr841nd(IP:192.168.1.2)<-> tp-link Archer(IP:192.168.1.1,提供互联网访问)。

步骤1:

将电缆从 DD-WRT 单元上未使用的 LAN 端口连接到您的 Linux 机器。

第2步:

在 DD-WRT 盒上,您需要将该端口放入其自己的 VLAN。

步骤3:

这将在 DD-WRT 盒上创建一个新的虚拟子接口。该子接口需要 IP 地址 100.60.120.11,并且需要具有与您的 Linux 盒相同的子网掩码。只是那个子接口。我已经很久没有摆弄过 DD-WRT 了,所以我不知道具体该怎么做,您可能需要在设备的 JFFS2 分区或类似分区中创建并存储启动脚本才能真正做到这一点。

基本上,您的路由器需要 2 个 LAN 接口,一个用于 192.168.1.x,另一个用于 100.60.120.x(假设您的 Linux 机器是 /24,您需要确认这一点)

步骤4:

我认为它可能会起作用。

相关内容