You are not logged in.
I've built a gateway/firewall/network services box out of an old machine I had, and it works quite well for IPv4. I was super excited when Comcast finally rolled out IPv6 in my area, and have been attempting to get it to work, however with no success. I have at one point successfully been using an HE tunnel to provide IPv6 for the network. My goal is to have this box running Arch get a prefix from Comcast, distribute it to the local network via radvd, and route IPv6 traffic between the LAN and Comcast without manual intervention to assign the prefix anywhere.
My issue seems to be getting ISC's dhcpcd to apply the prefix that it receives from Comcast to the LAN interface. The prefix I receive is a /64, and if I run dhcpcd in verbose mode, I do see it receive a prefix assignment.
LAN: enp2s2
WAN: enp2s8
dhcpcd.conf
#Prefix delegation in theory
noipv6rs
interface enp2s8
ia_pd 1 enp2s2
radvd.conf
interface enp2s2 {
AdvSendAdvert on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 10;
prefix ::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
DeprecatePrefix on;
};
};
However, the prefix never shows up on any interface (using ip addr to view), so never seems to be usable. Just in case I wasn't checking it appropriately, I attempted to run radvd anyways, and it exits with an error about no prefixes to advertise as expected.
Furthermore, I've been having further issues, in that if I manually take the prefix, and give my router's LAN interface the prefix::1 address, I have no IPv6 connectivity. If I switch dhcpcd to use ia_na instead of pd, I get an address on the WAN interface and have fully functional IPv6 connectivity on the router, as expected. I was hoping that I could use both statements to get an address on the WAN and delegate a prefix to the LAN, but that seems to be disallowed by dhcpcd, probably for a good reason I'm not aware of. I was hoping neighbor discovery would inform my router of Comcast's router on the link-local link (is that the right term?), but it does not seem to be functioning.
I've googled extensively and have not been able to find a solution that does not require manual intervention to copy-paste the prefix from the dhcpcd/dhclient output either into radvd, or assigning the address manually. Any suggestions on where I should look, or what I should try?
Thanks in advance
Last edited by phate408 (2013-09-19 18:27:01)
Offline
I manually take the prefix, and give my router's LAN interface the prefix::1 address, I have no IPv6 connectivity.
If Comcast are anything like Internode here in Australia, they require the PD request to update their routers with the correct routing information.
AFAIK, you should be doing a IA_NA to get an address for your router (to connect the link between your router and Comcast), then you need to do the PD to get the addresses for your internal use which radvd will then advertise.
EDIT: I figured I should include some info for how I do it. I use dibbler-client with these options (obviously I've censored my PD):
inactive-mode
skip-confirm
log-mode short
log-level 7
iface "ppp200" {
pd {
prefix 2001:aa:aa:ab00::/56
}
option dns-server
}
IPv6 addresses are then statically assigned to the internal interfaces, and radvd runs with this config:
interface eth1 {
AdvSendAdvert on;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
AdvDefaultLifetime 3600; # 1 hour
AdvDefaultPreference high; # this is the best router
AdvHomeAgentFlag off; # Disable Mobile IPv6 support
prefix 2001:aa:aa:ab01::/64 {
AdvOnLink on;
AdvAutonomous on;
};
RDNSS 2001:aa:aa:ab01::f1 {
};
};
Note the increment in the last byte of the network prefix:
:ab00: (ISP side of the router) => :ab01: (LAN side)
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline
I figured they require the PD request, I meant that I was running the client in verbose, and copy pasting the lease address from the output.
And, ah, ok. That's what I thought I needed, but I couldn't seem to do it with the ISC software, I'll try dibbler.
Thanks for the config example and the help
Offline
No stress. FWIW, dibbler-client always seg-faults on me, but not until after it makes the PD so it achieves what I need but doesn't actually work. lol
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline
So, I finally got a chance to break my internet for a while, and I tried out dibbler. It works almost perfectly. It gets an address for the external interface, and gets a prefix, awesome. Now, it said it assigned the prefix to the internal interface but it doesn't appear radvd realizes that. My goal is to have the entire setup configure itself on link with no manual intervention. Do you happen to know how I get it to auto assign PREFIX::1 to the interface? Or do I need to use a hook script?
EDIT: Nevermind, I just found the dibbler generated radvd.conf. I did not realize it did that, rather I thought that your conf file was hand generated. So, that solves all my problems. Thanks again for the suggestion to use dibbler.
Last edited by phate408 (2013-09-19 18:26:42)
Offline
No problem. FWIW, I do not use the dibbler generated radvd.conf, I do use a manual config file, and statically assign my addresses. I just use dibbler to make the PD request so Internode routes correctly.
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline