У меня есть простой Ардуино Сервер 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 с Ардуино, я имею:
Но в данный момент это не работает.
$ 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)
Я просто добавил строку к iptables:
sudo iptables -A OUTPUT -s 0.0.0.0/0 -d 10.42.0.9 -j ACCEPT
теперь все в порядке!