Подключение Arduino к eth0 при выходе из wlan0 в интернет
У меня есть простой сервер Arduino HTTP, и я хочу просмотреть этот сервер из моей Ubuntu.
Если я назначаю Arduino IP 192.168.0.9 и подключаю HTTP-сервер Arduino к маршрутизатору (к любому из 4 портов Ethernet), все работает нормально, и я могу просматривать из своей Ubuntu
Ubuntu => wlan0 => router => Arduino HTTP-сервер
Я предполагаю, что все в порядке, потому что я назначил статический IP для Arduino, и поэтому он находится в той же подсети 192.168.0.0/24.
В моей записной книжке также есть eth0. Мне гораздо проще подключить Arduino к этому eth0, чем к маршрутизатору. От ifconfig
, Я имею wlan 192.168.0.22
а также eth0 10.42.0.1
Моя цель - иметь:
Ubuntu => wlan0 => router => Интернет
Ubuntu => eth0 => HTTP-сервер Arduino
Для подключения Ubuntu к Arduino у меня есть:
- назначил серверу Arduino HTTP 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)
1 ответ
Я просто добавил строку в iptables:
sudo iptables -A OUTPUT -s 0.0.0.0/0 -d 10.42.0.9 -j ACCEPT
сейчас все хорошо!