[Ubuntu 22.04] Net::ServerのエラーでAmavisが起動しない

# Amavisが起動しない
　mail.logに以下のログが出力され、amavisが一瞬起動して落ちるという現象が起きた。対処について記載。

```:mail.log
starting. /usr/sbin/amavisd-new at xxxxx.jp amavisd-new-2.12.2 (20211013), Unicode aware, LANG="ja_JP.UTF-8"
perl=5.034000, user=119, EUID: 119 (119);  group=, EGID: 129 127 129 (129 127 129)
(!)Net::Server: 2022/10/02-00:30:49 Can't connect to TCP port 10024 on ::1 [Cannot assign requested address]\n  at line 64 in file /usr/share/perl5/Net/Server/Proto/TCP.pm
```

# 心当たり
　IPv6関係の設定をいじったせいだろうなぁ。具体的には/etc/sysctl.d配下のファイルで以下の設定を行った。

```:/etc/sysctl.d/userfile
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
```


# ポート状況の確認
　Postfixとやりとりするポートに接続できなかった場合にこのログが出力されるらしい。他のアプリケーションがポートを先に占有した等が考えられる。

```bash
netstat -tulpn
```

```:結果
稼働中のインターネット接続 (サーバのみ)
Proto 受信-Q 送信-Q 内部アドレス            外部アドレス            状態       PID/Program name    
tcp        0      0 127.0.0.1:5433          0.0.0.0:*               LISTEN      1362/postgres       
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1357/postgres       
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      785/dovecot         
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      4741/master         
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      785/dovecot         
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      1388/smbd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      4741/master         
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      1388/smbd           
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      4741/master         
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      811/rsyslogd        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      785/dovecot         
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      785/dovecot         
tcp        0      0 127.0.0.1:783           0.0.0.0:*               LISTEN      1574/perl           
tcp        0      0 127.0.0.1:8891          0.0.0.0:*               LISTEN      873/opendkim        
tcp        0      0 0.0.0.0:xxxxx           0.0.0.0:*               LISTEN      937/sshd: /usr/sbin 
tcp        0      0 127.0.0.1:10025         0.0.0.0:*               LISTEN      4741/master         
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      756/systemd-resolve
```

　今回のサーバーでは送信を10026、受信を10024でlistenしているが、リストに上がってこない。別のプログラムが占有している場合は競合するプログラムのポート設定を変更する等してkill、restartすれば良いが、今回はそのパターンでは無い様子。

# Amavisの設定に追記
Amavisの設定を変更する。

```bash
vi /etc/amavis/conf.d/50-user
```

　設定可能な最終行に`$inet_socket_bind`を追記する。デフォルトではこの値が`[ '127.0.0.1', '[::1]' ]`となっており、IPv6共存の設定となっている。

```:/etc/amavis/conf.d/50-user
# For configure with invalidating IPv6.
# Got error from /var/log/mail.log and can't start amavisd.
$inet_socket_bind = '127.0.0.1';

#　～↑上記を追記～

#------------ Do not modify anything below this line -------------
1;  # ensure a defined return
```

　起動して確認する。

```bash
systemctl start amavis
systemctl status amavis
```

```:結果
● amavis.service - Interface between MTA and virus scanner/content filters
     Loaded: loaded (/lib/systemd/system/amavis.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-10-02 10:05:48 JST; 8min ago
```

　無事に起動し落ちる事はなくなった。