桥接 eth0 和 wlan0

桥接 eth0 和 wlan0

我有一台计算机 C、路由器 R 和树莓派 P。它们已连接:

互联网 <--以太网--> R <--wlan--> P <--以太网--> C

现在我想让C能够访问互联网。

P 有 wlan0 和 eth0,我的第一个想法是桥接 eth0 和 wlan0,但由于我所了解的 wifi 的性质,这是不可能的。

下一个方法是向 P 添加 dhcp 服务器并让 C 租用 IP 号码。它工作正常,ip route在 C 上给出:

10.254.239.0/27 dev eth0 src 10.254.239.13 default via 10.254.239.10 dev eth0

P 上的 ifconfig 给出

eth0 链接 encap:以太网 HWaddr b8:27:eb:44:bb:71  
          inet 地址:10.254.239.10 广播:10.254.239.31 掩码:255.255.255.224
          inet6 地址:fe80::3206:e7e:fb7e:23d5/64 范围:链接
          上行广播运行多播 MTU:1500 指标:1
          RX 数据包:569 错误:0 丢弃:0 溢出:0 帧:0
          TX 数据包:235 错误:0 丢弃:0 溢出:0 运营商:0
          碰撞:0 txqueuelen:1000
          RX 字节:142936 (139.5 KiB) TX 字节:50384 (49.2 KiB)

lo 链接 encap:本地环回  
          inet 地址:127.0.0.1 掩码:255.0.0.0
          inet6 地址:::1/128 范围:主机
          上环回运行 MTU:65536 公制:1
          RX 数据包:19 错误:0 丢弃:0 溢出:0 帧:0
          TX 数据包:19 错误:0 丢弃:0 溢出:0 运营商:0
          碰撞:0 txqueuelen:1
          RX 字节:1444 (1.4 KiB) TX 字节:1444 (1.4 KiB)

wlan0 链路 encap:以太网 HWaddr b8:27:eb:11:ee:24  
          inet 地址:192.168.0.106 广播:192.168.0.255 掩码:255.255.255.0
          inet6 地址:fe80::2501:6a8:8bcf:4a40/64 范围:链接
          上行广播运行多播 MTU:1500 指标:1
          RX 数据包:5415 错误:0 丢弃:4989 溢出:0 帧:0
          TX 数据包:454 错误:0 丢弃:0 溢出:0 运营商:0
          碰撞:0 txqueuelen:1000
          RX 字节:815495 (796.3 KiB) TX 字节:49230 (48.0 KiB)

C 可以 ping P 但不能 Ping R,让我相信 P 有一些路由错误。

如何配置 P 在 R 和 C 之间传递流量?

ip route在 P 上给出:

默认通过 192.168.0.1 dev wlan0 metric 303
10.254.239.0/27 dev eth0 原型内核范围链接 src 10.254.239.10
192.168.0.0/24 dev wlan0 原型内核范围链接 src 192.168.0.106 指标 303

也在P上

$ cat /proc/sys/net/ipv4/ip_forward
1

答案1

这是一个经典的IP转发案例。在P上运行以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

相关内容