これには、
dtcpsの場合は、-iオプションで指定した範囲から動的に割り当てられますが、 routetableの第3フィールドにインタフェースを指定しておくと、 ユーザごとに使用するインタフェースを固定することができます。 第3フィールドが指定されてない場合は、 -iオプションで指定されたインタフェースが使われます。 例えば、
と書いておくと、ユーザhogeが接続した場合には、 必ずgif10が使われるようになります。hoge 3ffe:505:9000::/48 gif10
ここで指定するインタフェースは重複してはいけません。 また、-iオプションで指定される範囲と被らないように注意してください。 例えば、-i gif20と指定している場合、gif20以降が使用されますから、 routetableに指定できるのは、gif0〜gif19となります。
dtcpc, dtcpsは、 インタフェースを削除しないようにする-oオプションを持っています。 dtcpclientの場合はdtcpclient自身はトンネルの設定をおこないませんので、 そのようなオプションを持っていませんが、 dtcpclient_script.confにcloned_interface_keep="YES"と書いておくと、 インタフェースを削除しないようになります。
必要なインタフェースはdtcpc, dtcpsおよびdtcpclientが動的に生成しますが、 それではタイミング的に遅いかもしれません。 OS起動時にあらかじめ生成しておくと良いでしょう。 FreeBSDの場合、/etc/rc.confのcloned_interfacesで指定できます。 例えば、boot時にgif0, gif1, gif2を生成する場合、
cloned_interfaces="gif0 gif1 gif2"となります。