web-dev-qa-db-ja.com

FreeBSDjailのMariaDBでIPv6を有効にする

FreeBSD11.2刑務所にMariaDB10.2サーバーをセットアップしようとしています。

サーバーは実行中であり、IPv4を介したリモート接続を問題なく受け入れます。 sockstatによると、IPv6でもリッスンしているはずです。

db# sockstat | grep 3306   
mysql    mysqld     17516 177 tcp46 *:3306                *:*

これは確かに私が目指していたものであり、したがって私のmy.cnf:

db# cat my.cnf | grep -vE "^#"
[client]
port������������= 3306
socket����������= /tmp/mysql.sock

[mysqld]
port������������= 3306
bind-address����= ::
socket����������= /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 240K

server-id�������= 1

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_log_buffer_size = 16M

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout

ただし、IPv6経由で接続しようとすると、要求がタイムアウトします。

db# telnet db.local 3306            
Trying fd0b:9867:5eb1::3306...
telnet: connect to address fd0b:9867:5eb1::3306: Operation timed out
telnet: Unable to connect to remote Host
db# telnet ::1 3306            
Trying ::1...
telnet: connect to address ::1: Operation timed out
telnet: Unable to connect to remote Host

IPv4を介して、それはしません:

db# telnet 10.0.0.10 3306
Trying 10.0.0.10...
Connected to db.burnus.net.
Escape character is '^]'.
Y
5.5.5-10.2.22-MariaDB>8vmB=LG)M'zTti5g)3emysql_native_password^CConnection closed by foreign Host.                                          
db# telnet 127.0.0.1 3306
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Y
5.5.5-10.2.22-MariaDB?',Jme7}$Wm@70-/FO<~mysql_native_password^CConnection closed by foreign Host.

もちろん、両方のアドレスは刑務所のネットワークインターフェースに関連付けられています。

db# ifconfig em0 | grep inet
��������inet 10.0.0.10 netmask 0xffffffff broadcast 10.0.0.10  
��������inet6 fd0b:9867:5eb1::3306 prefixlen 128

ファイアウォールはありません。

My.cnfのbind-addressを削除したり、正しいIPv6アドレスまたはホスト名に変更したりしても、うまくいきません。私が間違っているかもしれないという考えがありますか?

2
Burnus

それを解決しました。当然、ルーティングエラーが発生しました。上記のすべてが正しく設定されましたが、ホストはポート3306のすべてのトラフィックを刑務所のIPv4アドレスにリダイレクトしました。これにより、MariaDBサービスはそれを信頼できなくなりました。

1
Burnus