Skip site navigation (1)Skip section navigation (2)
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&#39;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&lt;------------------------</div><div>  interface &quot;wan1&quot; {</div><div>      ignore routers;</div><div>  }</div><div>---------------8&lt;------------------------</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 &quot;route&quot; command:</div><div>---------------8&lt;------------------------<br></div><div>route() {<br>        if [ &quot;X$interface&quot; = &quot;Xwan1&quot; -a &quot;X$2&quot; = &quot;Xdefault&quot;  ]; then<br>                echo &quot;ignore route $1 $2 $3 $4&quot; | logger -t &quot;enter-hooks&quot;<br>        else<br>                /sbin/route $1 $2 $3 $4<br>        fi<br>}</div><div>---------------8&lt;------------------------</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>