需要通过 USB 以太网将我的 pi 连接到我的 WIFI PC (Linux Mint LMDE 3 Cindy) 以连接到互联网。我已将我的 pi IP 更改192.168.7.2
为这条指令。之后,我完成了指令基础这个网站和这这是用于 Linux MINT(Debian)中的 BBB 的,我通过以下方式为我的 PI 进行了更改:
PI控制台可以通过以下命令获取
ssh 192.168.7.2 -l pi
在 PI 控制台中输入以下内容
sudo ifconfig usb0 192.168.7.2
sudo route add default gw 192.168.7.1
在主机系统类型的linux控制台中
sudo su
#wlan0 is my internet facing interface, eth5 is the BeagleBone USB connection
ifconfig enp0s20f0u2 192.168.7.1
iptables --table nat --append POSTROUTING --out-interface wlp2s0 -j MASQUERADE
iptables --append FORWARD --in-interface enp0s20f0u2 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
如果网络无法访问,则在 PI 终端中键入以下内容
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
我在将 WiFi 互联网切换到以太网时遇到问题,解决方法是这条指令。
192.168.1.105
当我根据数据ping 到我的 WiFi IP ( ) 时,终于从我的 pi 控制台得到答案ifconfig
,但我无法连接到互联网
更新:
我已在我的笔记本电脑中运行此代码及其工作原理:
# firstlu offing
# Disable bridge interface
sudo ip link set br0 down
#wlp2s0 is my internet facing interface, enp0s20f0u2 is the Raspberry USB connection
sudo ifconfig enp0s20f0u2 192.168.7.1
sudo iptables --table nat --append POSTROUTING --out-interface wlp2s0 -j MASQUERADE
sudo iptables --append FORWARD --in-interface enp0s20f0u2 -j ACCEPT
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
#and then in pc do this
sudo ip link set br0 up
我的文件中有这样的设置/etc/network/interfaces
:
so@notebook:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# The loopback network interface
auto lo
iface lo inet loopback
iface enp0s20f0u1 inet static
adress 192.168.7.5
netmask 255.255.255.0
network 192.168.7.1
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
allow-hotplug wlp2s0
#iface wlp2s0
#auto br0
# bridge_ports wlp2s0 enp0s20f0u1
# bridge_stp off
# bridge_fd 0
# bridge_maxwait 0
但我不知道为什么它必须在我的 IP 设置中禁用和启用 br0 才能工作?!!!那你怎么想?
答案1
您正在做的是在主机上创建一个网桥,以便您的网络配置如下所示:
LAN (192.168.1.0/24)
------------------------------
|
br0
+----------------+
| enp0s20f0u1 |
| |
| wlp2s0 |
+----------------+
但是,当您创建网桥时,wlp2s0
仍然拥有您的 LAN 地址(192.168.1.x
很可能)。但br0
必须拥有该 IP 地址才能工作,因此通过将其降低然后升高,我猜您会无意中迫使网络管理员将您的 LAN 地址重新分配给网桥。
如果您想知道网络级别发生了什么,您应该ip [command]
专门使用 iproute2 ( ),而不是混合ifconfig
, ip
and /etc/interfaces
(后者是网络管理器的高级配置文件,内部需要ip
您)。这是一个很好的入门维基页面。
然后,您应该设置 /etc/network/interfaces,以便网络管理器自动完成这一切,而无需手动运行ip
命令。通常,您的网络管理器只会br0
在wlp2s0
您的 Raspberry Pi 断开连接时进行配置。