Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Apr 2021 14:26:32 -0400
From:      Karl Denninger <karl@denninger.net>
To:        freebsd-net@freebsd.org
Subject:   Re: Dual Stack Issues
Message-ID:  <876c130a-6abb-7de9-7b3a-c8051b3188b2@denninger.net>
In-Reply-To: <C9C65592-AF3F-4C3E-BFF5-07AF37F741BE@sermon-archive.info>
References:  <C9C65592-AF3F-4C3E-BFF5-07AF37F741BE@sermon-archive.info>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]

On 4/19/2021 13:45, Doug Hardie wrote:
> I am trying to setup a FreeBSD 13.0 router for IPv6 and IPv4.  The IPv4 
addresses are all statically assigned.  IPv6 should come from a prefix delegation from "ISP" and then sub-deligated to local LANs and hosts.  I have tried numerous approaches from various postings but still have two issues:
>
> 1.  DHCP for IPv6 doesn't seem to really work.  There are several packages available, but comments indicate issues with them.  In any case, none 
of them seem to be viable in the router setup, but only in the lower hosts.
>
> 2.  The entries in /etc/resolv.conf never seem to work for both IPv4 and IPv6.  The name servers for both are different.  There is one for each protocol and which ever one is listed first in resolv.conf will return a not-found response for any request using the other protocol.
>
> Any ideas on how to make this work?
>
> -- Doug

I've not had issues with resolv.conf, but the other side does work for 
me under 12.2 without problems.

I get both IPv4 and IPv6 from the upstream ISP on this device. The 
upstream in this case is Spectrum, but Cox also works as I've had an 
identical clone of it on Cox with only minor changes.

/usr/local/etc/dhcp6c.conf

#
# This configuration will attempt to get either a /56 or a /60 from your
# ISP (choose one below, comment the other out) and assign a /64 internally.
# Note that if you have a /60 you can have four /64s defined; if you have 
a
# /56 then obviously you can have 16 internal networks.  For most "house"
# size networks four separate delineations is enough, for most "moderate"
# sized corporate environments 16 is enough.  BE AWARE THAT THE SLA-LEN MUST
# MATCH THE DIFFERENCE BETWEEN THE LOCAL PREFIX AND THE REMOTE ONE!  
If
# you ask for a /56 then sla-len is 8, if you ask for a /60 then the sla-len
# is 4 (difference between the requested prefix length and 64, 
respectively.)
#

interface igb0 {
      send ia-pd 0;
      send ia-na 1;
};

id-assoc na 1 {

};

id-assoc pd 0 {
   prefix ::/56 infinity;
#  prefix ::/60 infinity;
   prefix-interface igb1 {
     sla-id 1;
     sla-len 8;
#    sla-len 4;
   };
};

This gets a /56 (on Cox a /60 works and is sufficient, on Spectrum it 
will not, but a /56 does)

Here is what is in /etc/rc.conf relevant to this:

# If you are turning on IPv6 then you MUST set both these lines AND look in
# /usr/local/etc/dhcp6c.conf and make SURE you have the correct prefix and
# assignments for local prefix length.  Note that we only accept routing 
info
# on the WAN interface, NEVER on the internal one.
#
ipv6_cpe_wanif="igb0"
ifconfig_igb0_ipv6="inet6 -ifdisabled accept_rtadv"
ifconfig_igb1_ipv6="inet6 -ifdisabled -accept_rtadv"

#ipv6_activate_all_interfaces="yes"
#
# Ipv6 routing; we MUST be an IPv6 router for the INTERNAL interface to
# distribute IPv6
#
rtadvd_enable="Yes"
rtadvd_interfaces="igb1"

#
# Dhcp6c client (get IPv6 addresses; note that 
/usr/local/etc/dhcp6c.conf must
# also be edited or this will NOT work!)
#
dhcp6c_enable="Yes"
dhcp6c_interfaces="igb0"

#
# Enable gateway functionality for both IPv4 and IPv6
#
gateway_enable="YES"
ipv6_gateway_enable="YES"

I also modify /etc/rtadvd.conf as the default for lifetime is wildly too 
large and if you don't change it and then the gateway reboots you can be 
waiting a LONG time before a client behind the gateway will re-validate 
its IPv6 address and routing information.

root@IpGw:/data/karl # more /etc/rtadvd.conf
# Set the preferred lifetime to 10 minutes on advertised prefixes.
# All other parameters are default.
#
igb1:\
         :pltime#600:


That's pretty-much it.

I'm on 12.2 at present on this box and have not yet checked 13.0.

-- 
Karl Denninger
karl@denninger.net <mailto:karl@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/

[-- Attachment #2 --]
0	*H
010
	`He0	*H

00H^Ōc!5
H0
	*H
010	UUS10UFlorida10U	Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CA0
170817164217Z
270815164217Z0{10	UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA0"0
	*H
0
h-5B>[;olӴ0~͎O9}9Ye*$g!ukvʶLzN`jL>MD'7U45CB+kY`bd~b*c3Ny-78ju]9HeuέsӬDؽmgwER?&UURj'}9nWD i`XcbGz\gG=u%\Oi13ߝ4
K44pYQr]Ie/r0+eEޝݖ0C15Mݚ@JSZ(zȏNTa(25DD5.l<g[[ZarQQ%Buȴ~~`IohRbʳڟu2MS8EdFUClCMaѳ!}ș+2k/bųE,n当ꖛ\(8WV8	d]b	yXw	܊:I39
00U]^§Q\ӎ0U#0T039N0b010	UUS10UFlorida10U	Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CA	@Ui0U00U0
	*H
:P U!>vJnio-#ן]WyujǑR̀Q
nƇ!GѦFg\yLxgw=OPycehf[}ܷ['4ڝ\[p6\o.B&JF"ZC{;*o*mcCcLY߾`
t*S!񫶭(`]DHP5A~/NPp6=mhk밣'doA$86hm5ӚS@jެEgl
)0JG`%k35PaC?σ
׳HEt}!P㏏%*BxbQwaKG$6h¦Mve;[o-Iی&
I,Tcߎ#t wPA@l0P+KXBպT	zGv;NcI3&JĬUPNa?/%W6G۟N000k#Xd\=0
	*H
0{10	UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CA0
170817212120Z
220816212120Z0W10	UUS10UFlorida10U
Cuda Systems LLC10Ukarl@denninger.net0"0
	*H
0
T[I-ΆϏdn;Å@שy.us~_ZG%<MYd\gvfnsa1'6Egyjs"C [{~_KPn+<*pv#Q+H/7[-vqDV^U>f%GX)H.|l`M(Cr>е͇6#odc"YljҦln8@5SA0&ۖ"OGj?UDWZ5	dDB7k-)9Izs-JAv
J6L$Ն1SmY.Lqw*SH;EF'DĦH]MOgQQ|Mٙג2Z9y@y]}6ٽeY9Y2xˆ$T=eCǺǵbn֛{j|@LLt1[Dk5:$=	`	M00<+00.0,+0 http://ocsp.cudasystems.net:88880	U00	`HB0U0U%0++03	`HB
&$OpenSSL Generated Client Certificate0U%՞V=؁;bzQ0U#0]^§Q\ӎϡ010	UUS10UFlorida10U	Niceville10U
Cuda Systems LLC10UCuda Systems CA1!0UCuda Systems LLC 2017 CAH^Ōc!5
H0U0karl@denninger.net0
	*H
۠A0-j%--$%g2#ޡ1^>{K+uGEv1ş7Af&b&O;.;A5*U)ND2bF|\=]<sˋL!wrw٧>YMÄ3\mWR hSv!_zvl? 3_ xU%\^#O*Gk̍YI_&Fꊛ@&1n”} ͬ:{hTP3B.;bU8:Z=^Gw8!k-@xE@i,+'Iᐚ:fhztX7/(hY` O.1}a`%RW^akǂpCAufgDixUTЩ/7}%=jnVZvcF<M=
2^GKH5魉
_O4ެByʈySkw=5@h.0z>
W1000{10	UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CAk#Xd\=0
	`HeE0	*H
	1	*H
0	*H
	1
210419182632Z0O	*H
	1B@Mbu@\t-@f4+/ipy[1'P`\
bWH0l	*H
	1_0]0	`He*0	`He0
*H
0*H
0
*H
@0+0
*H
(0	+7100{10	UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CAk#Xd\=0*H
	10{10	UUS10UFlorida10U
Cuda Systems LLC10UCuda Systems CA1%0#UCuda Systems LLC 2017 Int CAk#Xd\=0
	*H
,E;UgrspNJ\Tq죦MBEkcNa)b}M_͞׷mp9yNjh^ZZx-{8!\If6EB09Ǽn~zƆrAJp Yk:':fH1?}0\d2{>dO9Izỏ%TTs!(]UW0P %fR0{o0Ey}'GeIY	WvƎYLu%m2;ܬ8ѩGCbMsYlO!BA~Yk
<ǨI%<y$Np*d-C)C_@7Nm&	ҫ1'|m
}^	7|r3EtY0J<\3ufG~}\kux#,T~aK%\?yr{w2{nךB\(z)3cn5xćQdGߟD@ى#踈B匲ffD9c$

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?876c130a-6abb-7de9-7b3a-c8051b3188b2>