Date: Sun, 7 Apr 2024 23:16:47 -0400 From: Anton Yudin <contact@antonyudin.com> To: freebsd-net@freebsd.org Subject: How to ignore a default route for one of the dhclient-ed interface? Message-ID: <CAAokbZ0t%2BYdU1bjfd%2ByhnTjUw82puWBJHs3rBxwS-%2BkTkERz%2Bg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hello.
I'm running a FreeBSD 14 with two interfaces that use DHCP.
I would like to make one of the interfaces to never set the default route.
Right now the first interface to be fully up sets the default route.
I tried to set the following in /etc/dhclient.conf
---------------8<------------------------
interface "wan1" {
ignore routers;
}
---------------8<------------------------
but the default route still gets set.
I ended up creating a /etc/dhclient-enter-hooks with a very hacky code
that overrides the "route" command:
---------------8<------------------------
route() {
if [ "X$interface" = "Xwan1" -a "X$2" = "Xdefault" ]; then
echo "ignore route $1 $2 $3 $4" | logger -t "enter-hooks"
else
/sbin/route $1 $2 $3 $4
fi
}
---------------8<------------------------
Is there a better way of doing this?
Thanks.
[-- Attachment #2 --]
<div dir="ltr"><div>Hello.</div><div><br></div><div> I'm running a FreeBSD 14 with two interfaces that use DHCP.</div><div> I would like to make one of the interfaces to never set the default route.</div><div> Right now the first interface to be fully up sets the default route.<br></div><div><br></div><div> I tried to set the following in /etc/dhclient.conf<br></div><div>---------------8<------------------------</div><div> interface "wan1" {</div><div> ignore routers;</div><div> }</div><div>---------------8<------------------------</div><div> but the default route still gets set.</div><div><br></div><div> I ended up creating a /etc/dhclient-enter-hooks with a very hacky code that overrides the "route" command:</div><div>---------------8<------------------------<br></div><div>route() {<br> if [ "X$interface" = "Xwan1" -a "X$2" = "Xdefault" ]; then<br> echo "ignore route $1 $2 $3 $4" | logger -t "enter-hooks"<br> else<br> /sbin/route $1 $2 $3 $4<br> fi<br>}</div><div>---------------8<------------------------</div><div><br></div><div>Is there a better way of doing this?</div><div><br></div><div>Thanks.</div></div>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAokbZ0t%2BYdU1bjfd%2ByhnTjUw82puWBJHs3rBxwS-%2BkTkERz%2Bg>
