在 Ubuntu 16.04 中同时连接 WiFi 和以太网

在 Ubuntu 16.04 中同时连接 WiFi 和以太网

我正在为学校做一个项目,该项目使用一台通过以太网连接到 Raspberry Pi 的 Ubuntu 机器,无需互联网连接(无需连接)。我还需要无线连接到一个单独的本地网络,我正在使用 USB 无线适配器。我对 Ubuntu 的使用经验很少,也不完全清楚在我使用该系统之前进行了哪些设置。

Wifi 和以太网都是静态的,具有不同的 IP。两个连接都正常工作,但只能使用其中一个。我需要无线连接,因为我正在尝试从 Android 本地向 Ubuntu 上的 Apache 发送命令。

答案1

为了进一步解释这里的评论,基本上你需要做的是

  • 连接到以太网和 wifi,现在您应该有 2 个接口显示ifconfig -a

假设 wifi IP 为192.168.0.11,以太网为10.1.1.45。WiFi 网关为192.168.0.1,以太网网关为10.1.1.1

  • 现在您需要设置路由表,以便通过以太网发送一些流量,其余流量通过 wifi 发送。假设流量发往几个以太网内部子网 - 所有10.0.0.0/8地址(出于某种奇怪的原因)149.9.1.0/24都应该通过以太网发送,其他所有地址都可以发送到 wifi

免责声明 - 我手边没有 ubuntu 虚拟机可供测试,这些是我在 Mac 上用来做同样事情的命令

$ route add 10.0.0.0/8 10.1.1.1
$ route add 149.9.1.0/24 10.1.1.1

netstat -rn将显示路由表:

$ netstat -rn
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.0.0        10.1.1.1        255.0.0.0       UG        0 0          0 eth1
149.9.1.0       10.1.1.1        255.255.255.0   UG        0 0          0 eth1
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH        0 0          0 eth0
192.168.0.1     0.0.0.0         255.255.0.0     U         0 0          0 eth0

您可能需要对接口的顺序进行一些调整才能使其工作。netstat并将ip成为你在这里的朋友。

答案2

虽然这个问题与 Ubuntu 16.04 有关,但我使用的是 20.04.1,我想发布一个我在 Raspberry Pi 4 上使用的可行解决方案,Ubuntu Server 64 位。因此,我提供了 netplan 文件,没有进一步解释。

network:
  ethernets:
      eth0:
        addresses: [192.168.1.4/24]
        gateway4: 192.168.1.2
        nameservers:
            addresses:
            - 192.168.1.2              # private IP for ns1
#           - 192.168.1.4              # private IP for ns2 (work in progress)
#            search: [ <your domain> ] # DNS zone           (work in progress)
        dhcp4: no                      # static IP assignment
# version: 2 (not sure this is required)

  wifis:
      wlan0:   # use ls /sys/class/net to determine this value
        addresses: [10.0.2.2/24]
        gateway4: 10.0.2.1
        nameservers:
            addresses:
            - 10.0.2.2            # local host is ns1
        access-points:
            "<your SSID>":
            password: "<your password>"
            dhcp4: no                 #static IP assignment

相关内容