通过将ppp和wvdial设置为on,我将RPi配置为在启动时连接到3G加密狗。
/etc/network/interfaces
Pi启动,并且我可以连接互联网。完善。
现在我的问题是,每当我通过以太网(使用本教程)将Pi连接到计算机时,互联网连接都会丢失。即使从计算机断开连接后,仍然无法连接,我也需要重新启动,以便它可以再次连接互联网。
有没有办法让Pi通过加密狗的界面保持与互联网的连接,而不是尝试通过与计算机的连接来使其与互联网连接?
通过将ppp和wvdial设置为on,我将RPi配置为在启动时连接到3G加密狗。
/etc/network/interfaces
Pi启动,并且我可以连接互联网。完善。
现在我的问题是,每当我通过以太网(使用本教程)将Pi连接到计算机时,互联网连接都会丢失。即使从计算机断开连接后,仍然无法连接,我也需要重新启动,以便它可以再次连接互联网。
有没有办法让Pi通过加密狗的界面保持与互联网的连接,而不是尝试通过与计算机的连接来使其与互联网连接?
Answers:
假设您使用的是Linux(Raspian,Debian等):
您问两个不同的问题,首先,我将回答标题问题:
我将锁定您的“网络”(而不是“接口”)一词,并以纯IP的方式回答这个问题:
如果您有多个可以提供Internet的连接,则可以通过路由表进行控制。
要查看我通常使用的路由表netstat -rn(-r用于“显示路由”,-n用于“显示数字,请不要尝试进行DNS查找,如果我的互联网配置不正确,则可能会挂起”)。一个非常简单的示例如下所示:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.9.1     0.0.0.0         UG        0 0          0 eth0
192.168.9.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
172.20.10.0     0.0.0.0         255.255.255.240 U         0 0          0 wlan0
pi@homeServer ~ $ 
输出中显示IP数据包往哪个方向的行是dest为0.0.0.0,genmask为的行0.0.0.0,通常称为default route(掩码0.0.0.0为全通配符,即实际上是默认路由的标记),并且由于当前指向“ 192.168.9”范围内的特定地址,因此互联网流量将通过以太网接口传输。
如果我想将Internet切换到其他网络,我将(以root用户身份)使用该route命令,在这种情况下,鉴于我的wifi连接不是点对点的,因此我必须知道可以将流量转发到该网络之外(在我的情况下为172.20.10.1),因此我应该这样做:
删除当前默认路由
sudo route del default
为其他网络添加新的默认路由
sudo route add default gw 172.20.10.1
仅供参考,虽然
route我使用的是FYI ,但有些人认为它已过时,建议使用该ip route命令,有关语法,请参见下面的@Fred注释。弃用参考
它已经有一段时间我曾经使用过ppp和wvdial,没有CONFIGS(或至少引用您按照设定这类导游)及其真的很难猜你运行的问题之中,但作为一些想法:
netstat -rn和中都选中此项ifconfig。netstat -rn吗?如果是,是否有默认路由?ifconfig你看到接口加密狗(可能ppp)?是UP吗ppp/ wvdial日志,但是应该检查一下。该日志将告诉您连接状态,并应通知您整个系统是否由于某种原因而关闭ping任何操作,然后查看连接是否建立。 
ppp/ wvdial组合具有一些自动连接功能(取决于配置)
ip route不太使用相同的语法。但是,您可以复制并粘贴其输出以用作输入。例如,如果显示default via 192.168.9.1 dev eth0,则只需执行即可删除该路由ip route del default via 192.168.9.1 dev eth0。您可以轻松地将输出用作模板来添加新命令,例如ip route add default via 172.20.10.1 dev wlan0。