Я работаю над проектом для школы, в котором используется машина Ubuntu, подключенная к Raspberry Pi через Ethernet без подключения к Интернету (не нужно). Мне также нужно беспроводное подключение к отдельной локальной сети, что я и делаю с помощью беспроводного USB-адаптера. У меня мало опыта работы с Ubuntu, и я не совсем понимаю, какие настройки были установлены до того, как я начал работать с системой.
Wifi и Ethernet статические с разными IP. Оба соединения работают нормально, но только одно из них. Мне нужно беспроводное соединение, потому что я пытаюсь локально отправлять команды с Android на Apache на Ubuntu.
решение1
Чтобы объяснить комментарий немного подробнее, вот что вам нужно сделать:
- подключитесь к Ethernet и Wi-Fi, теперь у вас должно быть отображено 2 интерфейса
ifconfig -a
.
Предположим, что IP-адрес Wi-Fi — 192.168.0.11
, а Ethernet — 10.1.1.45
. Шлюз Wi-Fi — 192.168.0.1
, а шлюз Ethernet —10.1.1.1
- теперь вам нужно настроить таблицу маршрутизации, чтобы часть трафика отправлялась через ethernet, а остальная часть через wifi. Допустим, трафик, предназначенный для пары внутренних подсетей ethernet - все
10.0.0.0/8
адреса (и по какой-то странной причине)149.9.1.0/24
должны идти через ethernet, а все остальное может идти через 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-bit. Поэтому я предлагаю файл 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