强制Raspberry从特定网络获取Internet


13

通过将ppp和wvdial设置为on,我将RPi配置为在启动时连接到3G加密狗。

/etc/network/interfaces

Pi启动,并且我可以连接互联网。完善。

现在我的问题是,每当我通过以太网(使用本教程)将Pi连接到计算机时,互联网连接都会丢失。即使从计算机断开连接后,仍然无法连接,我也需要重新启动,以便它可以再次连接互联网。

有没有办法让Pi通过加密狗的界面保持与互联网的连接,而不是尝试通过与计算机的连接来使其与互联网连接?


两个连接都使用DHCP吗?
劳伦斯

您的ifconfig输出是什么样的?
Bex 2014年

在eth0上设置一个比ppp0更高的指标应该可以实现您想要的。较低的指标是较高的优先级。
劳伦斯

Answers:


6

假设您使用的是Linux(Raspian,Debian等):

您问两个不同的问题,首先,我将回答标题问题:

强制Raspberry从特定网络获取Internet

我将锁定您的“网络”(而不是“接口”)一词,并以纯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),因此我应该这样做:

  1. 删除当前默认路由

    sudo route del default
    
  2. 为其他网络添加新的默认路由

    sudo route add default gw 172.20.10.1
    

仅供参考,虽然route我使用的是FYI ,但有些人认为它已过时,建议使用该ip route命令,有关语法,请参见下面的@Fred注释。弃用参考

有没有办法通过加密狗的界面保持连接

它已经有一段时间我曾经使用过pppwvdial,没有CONFIGS(或至少引用您按照设定这类导游)及其真的很难猜你运行的问题之中,但作为一些想法:

  • 是不是真的断开了连接?或者当您的eth0出现时,您刚刚丢失了默认路由吗?
    • netstat -rn和中都选中此项ifconfig
    • 接口在netstat -rn吗?如果是,是否有默认路由?
    • ifconfig你看到接口加密狗(可能ppp)?是UP
  • 我不记得在哪里ppp/ wvdial日志,但是应该检查一下。该日志将告诉您连接状态,并应通知您整个系统是否由于某种原因而关闭
  • 如果看到接口,请尝试在接口上进行ping任何操作,然后查看连接是否建立。
    • 我知道ppp/ wvdial组合具有一些自动连接功能(取决于配置)
      • 因此,如果连接通过ping断开连接(或者连接一直处于关闭状态):可能是当您启动以太网时(ppp)默认路由丢失了。
      • 如果这是问题所在,则只需添加默认路由,整个系统将重新联机。

2
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
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.