通过将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
。