强制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注释。弃用参考

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

它已经有一段时间我曾经使用过ppp和wvdial,没有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.