Synology-Forum.nl
Hardware ondersteuning => Netwerk algemeen => Topic gestart door: Palinkie op 22 december 2020, 19:42:34
-
Beste forumleden,
Ik zit met een vreemd probleem: ik heb een Arduino board aan mijn netwerk verbonden (via Wifi). Deze krijgt keurig een IP binnen hetzelfde netwerk als al mijn apparaten. Ik kan de Arduino vanaf mijn desktop (wired) pingen, ik kan hem ook vanaf mijn Ziggo box (default gateway en router) pingen en vanaf mijn Arduino kan ik ook beide apparaten bereiken (via een WebClient test).
Het enige apparaat dat problemen geeft, is mijn NAS. Het vreemde is dat wanneer ik een "arp -a" op mijn NAS uitvoer, ik netjes de Arduino in de lijst zie staan. Echter, wanneer ik een ping vanuit mijn NAS naar de Arduino doe, krijg ik geen respons.
Ik vermoed dus dat er een routing probleem op mijn NAS zit, maar kan niet ontdekken waar/hoe...
Ik heb geen firewall of blacklist actief op de NAS en de NAS kan ook alle IP adressen uit de ARP lijst pingen, muv de Arduino.
Wat kan hier aan de hand zijn / hoe zou ik e.a. verder kunnen onderzoeken?
Alvast bedankt voor jullie hulp!
-
Het "arp -a" commando haalt de info niet uit het netwerk, maar uit de cache van het device. Dus ook als het apparaat down zou zijn, zie je hem in de arp lijst. Verder zie ik ook geen verklaring.
-
Echter, wanneer ik een ping vanuit mijn NAS naar de Arduino doe, krijg ik geen respons.
Krijg je dan een melding, zoals "Destination Host Unreachable" ?
-
Hallo Birdy,
Inderdaad.... het duurt wel even, maar dan krijg ik inderdaad de melding " destination host unreachable"
Wat ik vreemd vind is de onderstaande volgorde in mijn routing tabel (op de NAS):
root[member=41469]NAS[/member]:~# ip route show
default via 192.168.178.1 dev eth0 src 192.168.178.144
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.144
Dat zou volgens mij betekenen dat default alle bij de NAS binnenkomende verkeer naar mijn gateway (router: 192.168.178.1) gaat?
Pas als derde regel staat alle lokale verkeer (192.168.178.0) door de NAS zelf wordt afgehandeld, toch? Het lijkt mij logischer dat dit andersom is: eerst proberen lokaal af te handelen en dan pas naar de router?
-
Bij mij hetzelfde, alleen geen Docker ertussen:
root@DS716-II:~# ip route show
default via 192.168.1.1 dev ovs_eth0 src 192.168.1.23
192.168.1.0/24 dev ovs_eth0 proto kernel scope link src 192.168.1.23
Dus, standaard goed.
-
Hoi Bridy, bedankt voor je snelle check!
Dat zou dan OK moeten zijn? Ik heb ook nog de routing volgorde/prio en de inhoude van de tabellen bekeken, maar kan daar zelf niet zoveel wijzer van worden. Zie jij hier nog iets vreemds in?
Daarnaast had ik ook een tcpdump op de NAS uitgevoerd, terwijl ik de Arduino een connectie liet opbouwen. Hier zie je dan een "who has" verzoek van de Arduino langskomen en mijn NAS antwoorden, maar dit gaat een aantal maal zo door, waardoor ik denk dat de Arduino dit niet oppikt? Wat ik hier uit aflees is dat de Arduino dus de NAS zoekt, de NAS geeft antwoord, maar de Arduino pikt dit niet op en gaat dan naar de router (192.168.178.1) waarmee het verkeer dan stopt. Ik begrijp hier niets van!
-
Heb je al eens een traceroute vanaf je NAS naar de arduino gedaan?
-
Hallo zandhaas,
Ja, alleen dat lukt (net als pingen) helaas niet:
root@NAS:~# traceroute 192.168.178.200
traceroute to 192.168.178.200 (192.168.178.200), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * 192.168.178.144 (192.168.178.144) 3005.694 ms !H
-
Ik heb ook nog de routing volgorde/prio en de inhoude van de tabellen bekeken, maar kan daar zelf niet zoveel wijzer van worden. Zie jij hier nog iets vreemds in?
Daarnaast had ik ook een tcpdump op de NAS uitgevoerd
Ik heb dezelfde commando's gegeven, hierbij mijn output:
root@DS716-II:~# tcpdump host 192.168.1.100
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:59:59.276538 IP DSM7.53276 > keepalive.synology.com.https: UDP, length 148
12:00:02.217078 IP ec2-18-195-145-6.eu-central-1.compute.amazonaws.com.https > DSM7.53346: Flags [.], ack 2723827134, win 227, options [nop,nop,TS val 3377558368 ecr 144479], length 0
12:00:02.217541 IP DSM7.53346 > ec2-18-195-145-6.eu-central-1.compute.amazonaws.com.https: Flags [.], ack 1, win 319, options [nop,nop,TS val 174556 ecr 3377550829], length 0
12:00:09.276310 IP DSM7.53276 > keepalive.synology.com.https: UDP, length 148
12:00:09.405896 ARP, Request who-has DSM7 tell 192.168.1.1, length 46
12:00:09.406469 ARP, Reply DSM7 is-at 02:11:32:22:33:c6 (oui Unknown), length 28
root@DS716-II:~# ip rule show
0: from all lookup local
2: from all lookup static-table
6: from 192.168.1.23 lookup ovs_eth0-table
32766: from all lookup main
32767: from all lookup default
root@DS716-II:~#
root@DS716-II:~# ip route show
default via 192.168.1.1 dev ovs_eth0 src 192.168.1.23
192.168.1.0/24 dev ovs_eth0 proto kernel scope link src 192.168.1.23
root@DS716-II:~#
root@DS716-II:~# ip route show table static-table
root@DS716-II:~#
>>>Hier geen output, maar bij jou wel, misschien een HINT?<<<
root@DS716-II:~# ip route show table eth0-table
root@DS716-II:~#
root@DS716-II:~# ip route show table main
default via 192.168.1.1 dev ovs_eth0 src 192.168.1.23
192.168.1.0/24 dev ovs_eth0 proto kernel scope link src 192.168.1.23
root@DS716-II:~#
root@DS716-II:~# ip route show table default
root@DS716-II:~#
-
Hallo Birdy,
Ik heb nog een test uitgevoerd:
Wanneer ik een static route op mijn NAS toevoeg, kan ik wel de Arduino pingen en traceroute uitvoeren. Dit is de static route regel:
root[member=41469]NAS[/member]:~# ip route show table static-table
192.168.178.0/24 via 192.168.178.1 dev eth0
Echter, wanneer ik dat doe, kan ik niet meer in DSM inloggen en servers die op de NAS draaien (zoals MQTT) bereiken. Ik kan gelukkig dan nog wel met SHH mijn NAS in en vervolgens weer de static route verwijderen, waarna alles weer normaal werkt, maar helaas niet de ping/traceroute naar de Arduino.
Welke conclusie moet ik hier nu uit trekken?
-
Heb je als een geprobeerd om Docker te stoppen en dan kijken wat wel en niet werkt?
Ik heb het vage vermoeden dat het Docker netwerk roet in het eten gooit.
-
Ik ben weer een stapje verder, maar ook nog meer verbaasd:
Ik heb een static route regel aan mijn NAS toegevoegd, alleen bedoeld voor het (fixed) IP adres van de Arduino:
root[member=41469]NAS[/member]:/etc# ip route show table static-table
192.168.178.200 via 192.168.178.1 dev eth0
Met deze regel kan ik gewoon nog de web services op mijn NAS (Domoticz en DSM) benaderen en kan ik ook een ping en traceroot van mijn NAS naar de Arduino doen. Als ik een Webserver op de Arduino laat draaien, kan ik die met een curl vanaf mijn NAS ook gewoon bereiken. So far so good, MAAR......
Ik kan nog steeds niet met de Arduino naar mijn NAS komen (als ik de MQTT client op de Arduino draai, bereik ik niet de MQTT broker die op de NAS draait). Op een of andere manier kan de Arduino dus nog steeds niet specifiek naar mijn NAS komen (wel naar andere adressen). Heeft iemand nog een helder idee?
-
@zandhaas : ik heb ook Docker uitgezet, maar helaas zonder resultaat....
-
Heel vreemd wat er bij jou allemaal gebeurt.
Wat een collega van mij wel eens overkomen is dat hij na 2 dagen zoeken er achter kwam dat een van de clients een verkeerde subnetmask had gekregen (type foutje).
Een ander gateway adres ook type foutje.