不要PCにCentOS7.6をインストールし、最低限の設定が終わったところまで、前回の記事でまとめました。
その日の作業が終わったところで、一旦PCの電源を切っていたのですが、翌日起動してみるとtelnetがつながらない!コンソールからログインして確認してみると、telnetが起動エラーを起こしていました。
なぜかtelnetが起動エラーになってしまう原因と、その対策をまとめましたので、今後のためにもメモメモ。
telnetが自動起動しない
OS起動時にtelnetが自動起動していなかったので、手動で起動を試みました。
# systemctl start telnet.socket
すると、コンソールに以下のようなエラーメッセージが。
Job for telnet.socket failed. See "systemctl status telnet.socket" and "journalctl -xe" for details.
画面の指示通りに、telnetのステータスを確認してみたところ、以下のようなエラーメッセージが出力されていました。
telnet.socket failed to listen on sockets: Address family not supported by protocol
Failed to listen on Telnet Server Activation Socket.
Unit telnet.socket entered failed state.
プロトコルがサポートされていない?telnetサーバのソケットがListenしていない?
何となく、有効化されていないような気がしなくもないので、もう一度自動起動設定を有効にしてみました。
# systemctl enable telnet.socket
そして、もう一度手動で起動してみる。
# systemctl start telnet.socket
今度は立ち上がりました。別PCからtelnet接続してみたところ、正常につながることを確認。では再起動。
# reboot
再起動後、またつながらない。同じエラーが出ている。
原因を探る
前日、PCの電源を切る前に何度か再起動をしていたので、最後に再起動してから電源を切るまでに行ったことを思い出してみる。
まずやったことは、IPV6の無効化。そして、Webサーバの設定をして立ち上げ。ネットワークに影響するとしたら、IPV6の無効化がアヤシイ。
ということで、さっそくIPV6の無効化を解除してみます。
# vi /etc/sysctl.d/ipv6.conf
以下の2行、1に設定していたところを0にすれば有効になるので、とりあえず修正をしてみる。
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
ファイルを修正したら、自動起動を確認するため、そのままもう一度再起動してみる。
# reboot
再起動後、telnet接続。
あらやだ、つながった。
どうやら、IPV6を無効化してはいけないような雰囲気?
IPV6は無効化しない方がいい?
その後、hostsのIPV6記述をコメントアウトしてみたり、telnet.socketの記述を変更してみたり、IPV6に関係しそうな思い当たる節を全て試してみましたが、どうにもダメっぽい。
ということで、CentOS7系では、よっぽどの事情がない限り、IPV6を無効化するのは止めておいた方がいいのかもしれません。
今回はtelnetだけの問題でしたが、他にも影響が出る可能性もありますし。
コメント