Соединение Ардуино с eth0, уезжая wlan0 для Интернета

У меня есть простой Ардуино Сервер HTTP, и я хочу просмотреть этот сервер из своей Ubuntu.

Если я присваиваю Ардуино IP 192.168.0.9, и я подключаю Сервер HTTP Ардуино к своему маршрутизатору (к любому из 4 портов Ethernet), все хорошо работает, и я могу просмотреть из своей Ubuntu
Ubuntu => wlan0 => маршрутизатор => Ардуино Сервер HTTP
Я принимаю все в порядке, потому что я присвоил статический IP Ардуино, и таким образом, он находится в той же подсети 192.168.0.0/24.

В моем ноутбуке существует также eth0. Для меня намного легче подключить Ардуино к этому eth0, чем к маршрутизатору. От ifconfig, Я имею wlan 192.168.0.22 и eth0 10.42.0.1

Моя цель состоит в том, чтобы иметь:
Ubuntu => wlan0 => маршрутизатор => Интернет
Ubuntu => eth0 => Ардуино Сервер HTTP

Для соединения Ubuntu с Ардуино, я имею:

  • присвоенный Ардуино HTTP servier IP в той же подсети eth0: 10.42.0.9
  • добавленный маршрут весь запрос к 10.42.0.9 через eth0
  • оставленный направляют весь другой запрос через wlan

Но в данный момент это не работает.

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 wlan0
10.42.0.0       *               255.255.255.0   U     1      0        0 eth0
192.168.0.0     *               255.255.255.0   U     9      0        0 wlan0

Я не добавил 10.42.0.0... Ubuntu решила этот адрес для eth0

Можно ли объяснить корректный способ использовать и eth0 и wlan?

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1a:4b:8c:38:8e  
          inet addr:10.42.0.1  Bcast:10.42.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:4bff:fe8c:388e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:87 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:13231 (13.2 KB)
          Interrupt:22 Memory:e4600000-e4620000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2968 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2968 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:386864 (386.8 KB)  TX bytes:386864 (386.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:1a:73:e5:74:72  
          inet addr:192.168.0.22  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: 2a02:678:1be:1900:4947:bdbb:4d8b:4c2a/64 Scope:Global
          inet6 addr: 2a02:678:1be:1900:21a:73ff:fee5:7472/64 Scope:Global
          inet6 addr: fe80::21a:73ff:fee5:7472/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:42689 errors:0 dropped:0 overruns:0 frame:0
          TX packets:20397 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:22666151 (22.6 MB)  TX bytes:3533575 (3.5 MB)
0
задан 10 April 2017 в 13:25

1 ответ

Я просто добавил строку к iptables:

sudo iptables -A OUTPUT -s 0.0.0.0/0 -d 10.42.0.9 -j ACCEPT

теперь все в порядке!

1
ответ дан 3 August 2019 в 22:38

Другие вопросы по тегам:

Похожие вопросы: