point-to-point connections not working (regression compared to older models)
Hello,
the DHCP client used in the new software stack your using (i tested it with an Archer C80) can't handle point to point internet connections (If the subnet mask is 255.255.255.255/gateway is outside of the subnet).
Archer C80 is configured with the default settings and "Internet Connection Type = Dynamic IP".
This is the sniffed traffic on the WAN port of the Archer C80:
08:14:22.991988 IP (tos 0x0, ttl 64, id 225, offset 0, flags [DF], proto UDP (17), length 576)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 90:9a:4a:9f:07:58, length 548, xid 0x38a1abf9, Flags [none] (0x0000)
Client-Ethernet-Address 90:9a:4a:9f:07:58
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Discover
MSZ Option 57, length 2: 1024
Client-ID Option 61, length 7: ether 90:9a:4a:9f:07:58
Hostname Option 12, length 10: "Archer_C80"
Vendor-Class Option 60, length 8: "MSFT 5.0"
Requested-IP Option 50, length 4: 192.168.0.191
Parameter-Request Option 55, length 11:
Subnet-Mask, Default-Gateway, Domain-Name-Server, Domain-Name
Vendor-Option, Netbios-Name-Server, Netbios-Node, Netbios-Scope
Static-Route, Classless-Static-Route, Classless-Static-Route-Microsoft
END Option 255, length 0
PAD Option 0, length 0, occurs 250
08:14:23.086161 IP (tos 0x0, ttl 64, id 1, offset 0, flags [none], proto UDP (17), length 378)
185.104.140.3.67 > 178.17.237.11.68: [udp sum ok] BOOTP/DHCP, Reply, length 350, xid 0x38a1abf9, Flags [none] (0x0000)
Your-IP 178.17.237.11
Gateway-IP 185.104.140.3
Client-Ethernet-Address 90:9a:4a:9f:07:58
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Offer
Server-ID Option 54, length 4: 185.104.140.3
Lease-Time Option 51, length 4: 280
Subnet-Mask Option 1, length 4: 255.255.255.255
Default-Gateway Option 3, length 4: 185.104.140.3
Domain-Name-Server Option 6, length 8: 109.236.144.144,109.236.159.159
Agent-Information Option 82, length 28:
Circuit-ID SubOption 1, length 12: sw11418.ge24
Subscriber-ID SubOption 6, length 12: kaesekuchend
END Option 255, length 0
As you can see the box requests an IP and get's offered 178.17.237.11 with subnet mask 255.255.255.255 and gateway/router 185.104.140.3 but never acknowledges the offer.
The expected behavior is that the DHCP client configures 178.17.237.11/32 on the WAN interface and adds a route for the gateway via the WAN interface:
network 185.104.140.3 subnet mask 255.255.255.255 on WAN interface
Then it can add a default route via the gateway:
network 0.0.0.0 subnet mask 0.0.0.0 via 185.104.140.3
I tried to add the gateway route manually but the Archer C80 static routing form "Add a Routing Entry" at "Network/Routing" doesn't allow the configuration of link local routes. If the Default gateway field is empty, it's complaining that it must not be empty and if 0.0.0.0 is set it doesn't accept it with "The address cannot be 0.0.0.0".
The firmware version is: 1.5.7 Build 210308 Rel.60033n(4555)
This seems to affect all of your newer models (VxWorks based). On older linux based models (e.g. Archer C7) it's working fine.
The C80 itself is also working fine (no hardware defect). If I connect the WAN port to a LAN port of the C7 internet is working via both routers (double NAT).
The ISC DHCP reference implementation handles this special case (point to point connections) in line 295 to 298 in this code:
https://github.com/isc-projects/dhcp/blob/d394b602d43f24cd96fff3fbfb0c7b386b352cca/client/scripts/linux#L295-L298
It would be great if you could make the new software stack also work with point-to-point connections.
Please escalate this to a developer.
Best regards,
Freddy
Here are some screenshots:
Archer C80 status:
Archer C80 routing table:
Archer C80 routing table (can't add link local routes 1):
Archer C80 routing table (can't add link local routes 2):
Archer C7 Status for comparison (working):
Archer C7 Routing table comparison (working):