To content | To menu | To search

ConoHa VPS 上の FreeBSD に IPv4 アドレスを追加したときの追加 NIC と Jail の対応

2021/Mar/14 追記あり。

ConoHa VPS で IPv4 アドレスを追加すると、追加分は新しい NIC に割り当てられる。

Linux はいいらしいけれど、FreeBSD ではそのままだと活かし方が分からなかったけど、動いたように見える。

OS は FreeBSD 12.2-RELEASE-p1 GENERIC。qjail は 5.4 。

最初は VIMAGE でつなごうとした。qjail の vnet オプションを使って jail を作ることで、外部 NIC と二つの jail を bridge がつないでくれているように見えた。けれど Jail と外部ネットワークがつながらなかった。有名な DNS の IPv4 アドレスに ping が通らない、pkg がアップデートできない、sshd をたてても外からのアクセスを受け付けない、というところ。

pf で何とかできるかと考えたけれど、勉強するのは面倒だなあと思っていて、最後にトライしようと思っていた。既に pf はファイアウォールや NAT に使っていたので、それ以上いじるのは避けたかった。

結局 FIB で何とかなったようにみえる。

参考にしたのは、FreeBSD Jails: Filesystems and FIBs

NIC は vtnet0 がデフォルト、vtnet1 が追加分。アドレスは XXX.XXX.XXX.XXX がデフォルト、YYY.YYY.YYY.10 と YYY.YYY.YYY.20 が追加分。 ゲートウェイはそれぞれ最下位 1 として表現。

/boot/loader.conf に

net.fibs="3"

として再起動。

# setfib 1 route add -net YYY.YYY.YYY.0/23 -iface vtnet1
add net YYY.YYY.YYY.0: gateway vtnet1 fib 1
#setfib 1 route add default YYY.YYY.YYY.1
add net default: gateway YYY.YYY.YYY.1 fib 1
# setfib 2 route add -net XXX.XXX.XXX.0/23 -iface vtnet0
add net XXX.XXX.XXX.0: gateway vtnet0 fib 2: route already in table
# setfib 2 route add default XXX.XXX.XXX.1
add net default: gateway XXX.XXX.XXX.1 fib 2

途中、already in table とあるのは気になる。

ConoHa VPS では、追加された NIC に IPv6 の割り当てがないので、ひとまずその辺はパス。

qjail で jail を作る。fib 関係忘れてたので後からつけた

# qjail create -4 YYY.YYY.YYY.10 -n vtnet1 jail1
Successfully created  jail1
# qjail create -4 YYY.YYY.YYY.20 -n vtnet1 jail2
Successfully created  jail2
# qjail config -f 1 jail1
Successfully enabled exec.fib for jail1
qjail config -f 1 jail2
Successfully enabled exec.fib for jail2

これで外にもでられて、外からも入ることができた、はず。他の操作はメモしていない。

setfib route 操作は /etc/rc.local に4行書いて再起動して、特に問題も無かった。

2012/Mar/14 追記

また動かなくなっていたけれど、操作が不足していた。

ifconfig vtnet1 create fib 1
ifconfig vtnet0 create fib 2

この2行が無かった。rc.local の先頭にも追加した。

Add a comment

HTML code is displayed as text and web addresses are automatically converted.

They posted on the same topic

Trackback URL : https://www.pseudomoon.jp/dotclear/index.php?trackback/127

This post's comments feed