Linux 路由器在 eth2 和 eth3 之间共享互联网

Linux 路由器在 eth2 和 eth3 之间共享互联网

我不是一个擅长网络的人,所以提前致歉。

我有一个带有 2 个以太网端口的小型 Linux(Ubuntu)盒子。

  • eth2连接到有线调制解调器,该调制解调器为其提供 192.168.1.x 地址 + 互联网连接
  • eth3我直接插入,能够安装 isc-dhcp-server 并对其进行配置(配置如下)。我能够插入 Windows 笔记本电脑并获取配置的 10.0.0.x 范围内的 IP。

我到底是怎么了eth3看到互联网(比如eth2已经这样做了?我希望能够将 Windows 笔记本电脑或接入点插入eth3并让其自动连接互联网。

我尝试从 eth3 和 eth2 ping 到 google.com,结果如下:

ping -I **eth3** google.com => destination host unreachable

ping -I **eth2** google.com => works!

这是我的配置:

nano -w /etc/dhcp/dhcpd.conf

ddns-updates off;
option domain-name "example.local";
option domain-name-servers 8.8.8.8;
authoritative;

subnet 10.0.0.0 netmask 255.255.255.0 {
        interface eth3;
        default-lease-time 6000;
        max-lease-time 7200;
        range 10.0.0.100 10.0.0.200;
        option subnet-mask 255.255.255.0;
        option routers 10.0.0.254;
        option broadcast-address 10.0.0.255;
        option domain-name-servers 8.8.8.8;
}

nano -w /etc/default/isc-dhcp-server

INTERFACES="eth3"

nano -w /etc/网络/接口

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth3
iface eth3 inet static
  address 10.0.0.200
  gateway 10.0.0.1
  netmask 255.255.255.0
  dns-nameservers 8.8.8.8

我努力了转发端口

sudo sysctl net/ipv4/ip_forward=1

也尝试过桥接,但是当我按下回车键时,它就将我踢出框:

brctl addbr br0
brctl addif br0 eth2 eth3

任何建议或帮助都将不胜感激。我花了整整 8 个小时摸索着做这件事,感觉自己像个白痴!

谢谢!

答案1

您需要通过指定默认路由(即,在显然也充当路由器的电缆调制解调器上)告诉 eth2 所连接的网络上的默认网关 10.0.0.0/24 位于该路由器后面,或者在 eth2 上的出站流量上使用源 NAT。

不建议使用双重 NAT,因此如果您这样做,您应该找到某种方法在路由器面向互联网的接口 eth2 上获取可路由互联网的 IP。

问题在于返回路径已损坏;返回 10.0.0.0/24 的流量无法路由,因为 10.0.0.0/24 无法从带有电缆调制解调器的网段进行路由。

这里你不需要桥。桥是第 2 层的东西。

相关内容