Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

"Destination unreachable (Port unreachable)" packets for DNS

Featured Replies

I have been trying to no avail to get this working. I have an OPNsense router that is running AdGuard for DNS on port 53 with an upstream of Unbound for recursive DNS on 5353.

 

My networks:

WAN - xx.xx.xx.xx public IP

LAN - 10.0.17.0/24 (primary LAN)

VLAN117 - 10.0.117.0/24

 

I am trying to get a docker container running on VLAN117 in Unraid.

 

I have two Omada network switches (SG2210MP v4.20 & SG3428X v1.30) that have the VLAN implemented, and I know it's working properly because I set up a VM on Unraid on VLAN117 that works. Routes to the internet, follows my firewall rules in OPNsense, etc.

 

When I create a Docker macvlan network, I can't get anything external working. I have tried every which way of creating the macvlan, parent as br0, br0.117, eth0, eth0.117, vhost0, vhost0.117. I've tried ipvlan. Some combinations give me  a

docker: Error response from daemon: failed to create the ipvlan port: device or resource busy.

which is not my primary concern error, but if anyone knows anything about this too that would be great.

 

When I ping or nslookup google I just get host unreachable. I can see the traffic showing up in OPNsense, I can see the DNS queries in AdGuard log, so I know it's getting to the places it needs to go, but it's like it just doesn't send the packet back to the container.

 

docker run -it --rm --net vlan117 --ip 10.0.117.205 alpine
/ # ping google.com
ping: bad address 'google.com'
/ # nslookup google.com
;; connection timed out; no servers could be reached

/ # ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=58 time=6.671 ms
64 bytes from 8.8.8.8: seq=1 ttl=58 time=6.317 ms
64 bytes from 8.8.8.8: seq=2 ttl=58 time=6.327 ms

 

Attached a tcpdump output where I tried to ping google.com and then subsequently successfully pinged 10.0.117.1. Pinging 8.8.8.8 directly also works perfectly fine.

 

Again, VM works fine, so I have most likely narrowed it down to docker and not any upstream routing rules, but open to all suggestions.

pcap.PNG

Solved by RegularSizeRoss

  • 3 weeks later...
  • Author
  • Solution

Just going to post this here in case anyone runs into a similar issue.

 

What I did to fix this was to force --dns=10.0.117.1 on the Docker container.

 

I believe the issue is that my DNS server on my OPNSense router was listening on all interfaces, including the VLAN interface, and it was replying from both the default interface address and the VLAN interface, so I was getting a duplicate response which was causing issues.

 

Originally I had only tried forcing --dns=10.0.17.1 (the DNS of my main LAN) and that wasn't working, I didn't think to try the gateway of the VLAN instead, but that was the solution for me.

Edited by RegularSizeRoss

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.