FreeBSD 内の jail に対して、pf を通して ssh アクセスできていた環境で、FreeBSD 13.x から 14.1 にアップグレードしたら ssh アクセスができなくなったのを対処した話。
Friday, August 16 2024
FreeBSD の jail に、pf で転送した ssh でログインができない。
By takagiwa on Friday, August 16 2024, 17:27
To content | To menu | To search
Friday, August 16 2024
By takagiwa on Friday, August 16 2024, 17:27
FreeBSD 内の jail に対して、pf を通して ssh アクセスできていた環境で、FreeBSD 13.x から 14.1 にアップグレードしたら ssh アクセスができなくなったのを対処した話。
Tuesday, July 2 2024
By takagiwa on Tuesday, July 2 2024, 22:42
FreeBSD 13.2-RELEASE から 14.1-RELEASE にアップグレードしたら、jail でタイトルのようなエラーになった。
Monday, January 30 2023
By takagiwa on Monday, January 30 2023, 22:47
Nextcloud をアップデートしようとしたら、以下のエラーがでてアップデートできなかった。
Could not do request to updater server: SSL certificate problem: unable to get local issuer certificate
どうやらローカルにある証明書の問題の模様。
cURL and self signed certificates on FreeBSD 13 を参考に
# certctl -v rehash
で復旧した。
Wednesday, January 18 2023
By takagiwa on Wednesday, January 18 2023, 23:05
FreeBSD は 13.1-RELEASE-p3 で postfixadmin は postfixadmin-php81-3.4.d.20211018 。
Apache のエラーログでは
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /usr/local/www/postfixadmin/functions.inc.php:1740 Stack trace: #0 /usr/local/www/postfixadmin/functions.inc.php(1740): PDO->__construct('mysql:mysql:hos...', 'XXXXX', 'YYYYY...', Array) #1 /usr/local/www/postfixadmin/functions.inc.php(1914): db_connect() #2 /usr/local/www/postfixadmin/functions.inc.php(1875): db_query('SELECT value FR...', Array) #3 /usr/local/www/postfixadmin/functions.inc.php(2222): db_query_one('SELECT value FR...') #4 /usr/local/www/postfixadmin/public/login.php(40): check_db_version() #5 {main} thrown in /usr/local/www/postfixadmin/functions.inc.php on line 1740
というエラー。DSN が mysql:mysql となってしまっている。Github 上の postfixadmin ではこうなっていない。
/usr/local/www/postfixadmin/functions.inc.php の db_connection_string() 内、
$dsn = 'mysql:'; if ($socket) { $dsn .= "unix_socket={$socket}"; } else { $dsn .= "mysql:host={$CONF['database_host']}"; }
でどちらかの「mysql:」を削除すればひとまず回避できる。
Tuesday, December 22 2020
By takagiwa on Tuesday, December 22 2020, 21:46
2021/Mar/14 追記あり。
ConoHa VPS で IPv4 アドレスを追加すると、追加分は新しい NIC に割り当てられる。
Linux はいいらしいけれど、FreeBSD ではそのままだと活かし方が分からなかったけど、動いたように見える。
Thursday, November 26 2020
By takagiwa on Thursday, November 26 2020, 18:29
qjail で jail を作ろうとするとエラーになる。
OS は 12.2-RELEASE 。
# qjail create -4 <ip address> -n <network interface> <jail name> error: conflicting output format options. usage: diff [-aBbdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] [-I pattern] [-L label] file1 file2 diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] -C number file1 file2 diff [-aBbdiltw] [-I pattern] [--ignore-case] [--no-ignore-case] [--normal] [--strip-trailing-cr] [--tabsize] -D string file1 file2 diff [-aBbdilpTtw] [-I pattern] [-L label] [--ignore-case] [--no-ignore-case] [--normal] [--tabsize] [--strip-trailing-cr] -U number file1 file2 diff [-aBbdilNPprsTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case] [--no-ignore-case] [--normal] [--tabsize] [-I pattern] [-L label] [-S name] [-X file] [-x pattern] dir1 dir2 diff [-aBbditwW] [--expand-tabs] [--ignore-all-blanks] [--ignore-blank-lines] [--ignore-case] [--minimal] [--no-ignore-file-name-case] [--strip-trailing-cr] [--suppress-common-lines] [--tabsize] [--text] [--width] -y | --side-by-side file1 file2 Error invalid directories in flavor default.
/usr/local/bin/qjail がスクリプトだったので diff を探したら一箇所だけ出てきた。
# Check the flavor for directories it should NOT be playing with. # # Load directory names to be excluded from diff to std-out # and pipe to the diff -X option. # example_flavor="/usr/local/share/examples/qjail/default" flavor_path="${flavors_dir}/${flavor}" /bin/cat << EOF | etc home root EOF diff -ruq -X - "${example_flavor}" "${flavor_path}" [ $? -eq 0 ] || \ kill "Error invalid directories in flavor ${flavor}."
diff のオプションの u と q がぶつかっているみたい。でもどちらかにしても相変わらずエラーになる。
2020 Nov 27 追記
diff は、/usr/local/share/examples/qjail/default/etc/ に resolv.conf が無かったことに文句を言っていた。
# cp /usr/jails/flavors/default/etc/resolv.conf /usr/local/share/examples/qjail/default/etc/ # diff -r /usr/local/share/examples/qjail/default /usr/jails/flavors/default
で何も出ないことを確認したら、ひとまず qjail create は通るようになった。
Monday, December 9 2019
By takagiwa on Monday, December 9 2019, 21:18
環境は、
FreeBSD *jail* 12.1-RELEASE-p1 GENERIC amd64
zabbix_server は pkg の 4.2.6 又は ports の 4.4.3
Friday, April 5 2019
By takagiwa on Friday, April 5 2019, 21:52
/etc/newsyslog がこうなっていた。
# cat /etc/newsyslog.conf # logfilename [owner:group] mode count size when flags [/pid_file] [sig_num] /var/log/all.log 600 7 * @T00 J /var/log/amd.log 644 7 100 * J /var/log/auth.log 600 7 100 @0101T JC /var/log/console.log 600 5 100 * J /var/log/cron 600 3 100 * JC /var/log/daily.log 640 7 * @T00 JN /var/log/debug.log 600 7 100 * JC /var/log/init.log 644 3 100 * J /var/log/kerberos.log 600 7 100 * J /var/log/lpd-errs 644 7 100 * JC /var/log/maillog 640 7 * @T00 JC /var/log/messages 644 5 100 @0101T JC /var/log/monthly.log 640 12 * $M1D0 JN /var/log/pflog 600 3 100 * JB /var/run/pflogd.pid /var/log/ppp.log root:network 640 3 100 * JC /var/log/devd.log 644 3 100 * JC /var/log/security 600 10 100 * JC /var/log/sendmail.st 640 10 * 168 BN /var/log/utx.log 644 3 * @01T05 B /var/log/weekly.log 640 5 * $W6D0 JN /var/log/xferlog 600 7 100 * JC ======= <include> /etc/newsyslog.conf.d/* <include> /usr/local/etc/newsyslog.conf.d/*
そして実行するとエラー
# newsyslog newsyslog: missing field in config file: =======
この
=======
が、多分 freebsd-update の時のマージで残っていたらしい。
Tuesday, January 15 2019
By takagiwa on Tuesday, January 15 2019, 20:13
Qiita の @furandon_pig さんの記事、さくらVPSでFreeBSD+Jailを動かして仮想的にVPSが複数使えているような環境を作ってみる について、もう少しいじってみたもの。
Thursday, November 10 2016
By takagiwa on Thursday, November 10 2016, 18:29
今は
Certbot の説明に従って、security/py-certbot をインストールすると OK 。
あらかじめ Apache や Nginx 等の Web サーバーを落としておいて、Certbot が自分で持っている Web サーバーを使うと簡単。
Monday, July 14 2014
By takagiwa on Monday, July 14 2014, 10:05
FreeBSD 10 と qjail で作った jail 内から、ping や traceroute を使用とすると、
icmp socket: Operation not permitted
と怒られる。
/etc/sysctl.conf に
security.jail.allow_raw_sockets=1
と追加してみたり、
/etc/rc.conf に
jail_{jail名}_parameters="allow.raw_sockets=1"
を追加してもだめ。
# qjail config -k
小文字の k で ON、大文字 K で OFF、らしい。