FreeBSD 9.2にしたらjailが動かなくなった

cannot start jailと出て起動しなく。手動では起動するので/etc/rc.d/jailが何か変更になったぽい。で追っていくとIPv6の指定の仕方が不味いということに気がつきました。パラメータのIPのリストをみてIPv4のときはip4.addr, IPv6のときはip6.addrで指定するように変わったようです。で、/etc/rc.confには以下のようにかいていたのですが

jail_jail171_hostname="jail171.jail"
jail_jail171_ip="192.168.253.171,2400:XXXX:100::192.168.253.171"
jail_jail171_rootdir="/jails/jail171"
jail_jail171_procfs_enable="YES"
jail_jail171_devfs_enable="YES"
jail_jail171_exec_start="/bin/sh /etc/rc"
jail_jail171_exec_stop="/bin/sh /etc/rc.suhtdown"
jail_jail171_mount_enable="YES"

2400:XXXX:100::192.168.253.171が *.*.*.*にマッチしてしまいIPv4のアドレスだと思われてしまうようです。故に全部:で区切って書けば問題なさげです。あるいは/etc/rc.d/jailの以下の部分:

    # Identify type {inet,inet6}.
    case "${_addr}" in
    *\.*\.*\.*)     _type="inet" ;;
    *:*)            _type="inet6" ;;
    *)              warn "jail_extract_address: type not identified"
                    ;;
    esac

これを

    # Identify type {inet,inet6}.
    case "${_addr}" in
    *:*)            _type="inet6" ;;
    *\.*\.*\.*)     _type="inet" ;;
    *)              warn "jail_extract_address: type not identified"
                    ;;
    esac

とするとよいようです。

Posted by issei

カテゴリ: BSD