РЕДАКТИРОВАТЬ: я нашел решение, как объяснить здесь

Так что я полностью потерялся. Я настоящий новичок в сети Linux. У меня есть 3 интерфейса eth0, wlan0, wlan1 (2 wifi usb dongle) на моем raspberrypi. Моя ситуация :

  • wlan1 будет использоваться для подключения к камере Wi-Fi через SSDP.
  • wlan0 будет использоваться для TCP-соединения с сервером (ip/ имя домена известно). Я ничего не знаю о wifi wlan0 подключен через DHCP. Это может время от времени меняться. Он не знает шлюза специально.
  • eth0 будет использоваться для отладки ssh-доступа, через мой сервис обмена воздушными подключениями macbook на примере.

На самом деле все эти интерфейсы работают. Вот вывод ifconfig (wlan1 и eth0 находятся в одной сети, но в будущем это не будет так):

eth0      Link encap:Ethernet  HWaddr b8:27:eb:8c:e2:10  
          inet addr:192.168.0.19  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:93616 (91.4 KiB)  TX bytes:12342 (12.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr c0:4a:00:2a:ab:6c  
          inet addr:192.168.43.44  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1142 (1.1 KiB)  TX bytes:1145 (1.1 KiB)

wlan1     Link encap:Ethernet  HWaddr 74:da:38:0c:c6:f0  
          inet addr:192.168.0.14  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:155 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:222449 (217.2 KiB)  TX bytes:29711 (29.0 KiB)

И вот вывод маршрута sudo -n:

0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Если я хорошо понимаю, что я прочитал за последние 24 часа, мне нужно заняться маршрутизацией. Но я не понимаю, что и как. Нужно ли было менять маршрут по умолчанию? Если да, то как мне это сделать, поскольку я не знаю шлюза wlan0 или wlan1 до подключения к сети. Это невозможная проблема?

Этот пост может быть дубликатом, но со вчерашнего дня я не нашел ничего полезного, так что, по крайней мере, мне нужна помощь, чтобы найти оригинальный пост :)

Заранее спасибо тем, кто может мне помочь!

Редактировать: добавить /etc /network /interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        post-up route del default dev wlan0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "wifi1"
        wpa-psk "psw1"

auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
        wpa-ssid "wifi2"
        wpa-psk "pwd2"

3 ответа3

0

Если я хорошо понимаю, что я прочитал за последние 24 часа, мне нужно заняться маршрутизацией.

Нет, если вы не хотите настроить свою систему в качестве маршрутизатора.

Шлюз по умолчанию - это IP, по которому Linux будет отправлять трафик, если пункт назначения не попадает в диапазон масок подсети любого сетевого интерфейса. Обычно это будет трафик, предназначенный для «Интернета».

Если вам не нужна эта система с доступом к Интернету, она вам не нужна, но вы, вероятно, делаете это, чтобы она могла получать обновления и т.д.

DHCP обычно передает шлюз по умолчанию, а также IP-адрес. Так что, если wlan0 получает IP от DHCP, он, вероятно, также получает шлюз по умолчанию. (Или, может быть, вы захотите проверить ваш DHCP-сервер, если он его не раздает.) Таким образом, Интернет-трафик будет проходить через этот интерфейс.

Если вы не хотите использовать DHCP или раздавать шлюз по умолчанию через DHCP, вы можете указать его вручную. Это должен быть IP-адрес маршрутизатора, который может пересылать данные в / из Интернета.

Все будет гладко, если у вас будет только один шлюз по умолчанию, поэтому убедитесь, что другие интерфейсы настроены на статические IP-адреса, и что только один интерфейс получает что-то через DHCP.

0

Вы можете посмотреть файл, расположенный в /etc /network /interfaces, чтобы найти шлюз по умолчанию. Это, вероятно, 192.168.0.1, но я не уверен. Шлюз - это просто адрес вашего роутера.

Введите "cat /etc /network /interfaces", чтобы увидеть информацию. Отредактируйте с правами суперпользователя (sudo), если вы хотите изменить его.

Попробуй это:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    # post-up route del default dev wlan0
    address 192.168.0.19
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    wpa-ssid "wifi1"
    wpa-psk "psw1"
    address 192.168.43.44
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan1
allow-hotplug wlan1
iface wlan1 inet static
    wpa-ssid "wifi2"
    wpa-psk "pwd2"
    address 192.168.0.14
    netmask 255.255.255.0
    gateway 192.168.0.1

Сделайте резервную копию вашего оригинального файла /etc /network /interfaces и попробуйте этот файл. Это устанавливает все на статическое (неизменное). Вам придется перезапустить ваши интерфейсы с помощью ifdown /ifup или просто перезагрузить компьютер.

0

Я сам ответил на этот вопрос после нескольких часов тестирования ...

Это объяснить здесь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .