Modify

Opened 2 years ago

Last modified 2 years ago

#21760 new defect

Update package list not working in IPv6 only environment

Reported by: rgaudi@… Owned by: developers
Priority: response-needed Milestone:
Component: base system Version: Trunk
Keywords: Cc:

Description

I am using OpenWrt as WLAN access point in an IPv6 only network with DNS64 + NAT64.

When selecting the "Update lists" button under "Software" I get the following errors:

wget: can't connect to remote host (78.24.191.177): Network is unreachable
 ...
Collected errors:
 * opkg_download: Failed to download http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base/Packages.gz, wget returned 1.

Wget tries to access the server by an IPv4 literal which is impossible from an IPv6 only network.
When I try to download the file with wget and the link on another computer inside the same network, wget (GNU Wget 1.16.1) is able to download the file, due to the NAT64 + DNS64 translation in my network.

Possible solution, replace the numeric IPv4 specific literal "78.24.191.177" by the symbolic server name "downloads.openwrt.org". Although the server is still IPv4 only, the symbolic server name would allow DNS64 + NAT64 translation for IPv6 only networks.

Attachments (0)

Change History (2)

comment:1 Changed 2 years ago by jow

  • Priority changed from normal to response-needed

We're not using any "IPv4 specific literal" anywhere and we're not hard coding IP addresses either. The wget applet (or in newer trunk versions uclient) does completely normal DNS lookups (using getnameinfo() & friends) followed by a connect() to whatever address was received.

Maybe OpenWrt is not using your NAT64 server as upstream NS?

comment:2 Changed 2 years ago by rgaudi@…

Today I did further trying and observed the same behaviour when trying wget from the ssh command line. I entered a textual URL and weget tried to access an IPv4 address.

For testing I added the following line to /etc/hosts and now wget was able to perform the download.
64:ff9b::4e18:bfb1 downloads.openwrt.org

When trying wget on URLs of truly IPv6 enabled servers I received the same error. Truly IPv6 means, their addresses were not synthesized by my DNS64 server.

Ping6 is always using the correct IPv6 address. Depending on the URL it is using a true public IPv6 address or an artificial one generated by DNS64. Basically DNS64 seems to work in combination with OpenWRT.

It looks as if wget is always trying to use IPv4 A-records in favour of IPv6 AAAA-records. At moment I a am not sure, if this behaviour is incorrect or if it is just a secondary effect caused by a misconfiguration of my network.

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.