勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

iptablesを更新するとFTP接続ができなくなる場合の対応策

   2024/01/12  サーバー

iptablesでIP制限を追加し、iptablesを再起動するとそのサーバーにFTP接続できなくなった。前々からそういう現象が起きていて、サーバー自体を再起動かけることでFTP接続が出来るようになるので、毎回サーバーを再起動していた。

ただ、apacheのアクセスログを監視しているとiptablesで制限しているはずのIP帯で接続が確認でき、これはおかしいと思って調べたところiptablesが動いていなかった。

以下に症状と原因と改善策。

 

症状

iptablesで111.111.111.0/24を接続拒否。

↓↓

service restart iptablesで再起動。この時点でプロキシを通してチェックしたところIP制限は正常に作動している。その代わりにFTP接続が出来なくなる。

↓↓

rebootでサーバーを再起動するとFTP接続は出来るようになるがIP制限は正常に作動しなくなる。

 

原因

rebootでサーバーを再起動した際にFTP接続はでき、iptablesは動作しない原因として、iptablesの自動起動設定が行われていなかった。自動起動の有無は以下でチェックする。

/sbin/chkconfig --list iptables

また、iptablesが動作中にFTP接続が出来ない原因は、パッシブ(PASV)モードで接続するには20番ポートと21番ポートを開放するだけではダメらしい。

 

改善策

iptablesは以下で自動起動設定を行う。

#自動起動設定
/sbin/chkconfig iptables on

#確認
/sbin/chkconfig --list iptables

FTP接続はクライアント側でアクティブモードで接続するようにした。

 

アクティブモードとパッシブ(PASV)モードって何?

  • アクティブ→サーバーからクライアントに対し接続
  • パッシブ(PASV)→クライアントからサーバーに対し接続

というものらしい。以下記事が参考になった。

http://naoberry.com/tech/ftp-active-pasv/

 

その他

あまりサーバー自体を再起動かけることは無いけど、その都度ファイアウォールが止まっていたというのは恐ろしい。挙動がおかしいと感じたらとりあえず再起動とかじゃなくて、ちゃんと原因を調べるようにしないといけないと思った。

 - サーバー

  関連記事

yumでupdateが出来ずepelがどうのこうのエラーが出た
yumでupdateが出来ずepelがどうのこうのエラーが出た

yumでupdate使用としたら「Error: Cannot retrieve ...

CentOS7系からAlmaLinux8系に移行(サーバも移行)した際に詰まった点と変更点
CentOS7系からAlmaLinux8系に移行(サーバも移行)した際に詰まった点と変更点

前日CentOS7系からAlmaLinux8系に移行した(サーバはどちらも同じV ...

WordPressのサーバー移行で気付いた点
WordPressのサーバー移行で気付いた点

あるWordPressを置いているサーバーのリソースが苦しくなってきたので、新た ...

特定ディレクトリ以下のBasic認証を無効化する方法
特定ディレクトリ以下のBasic認証を無効化する方法

Basic認証を設定しているサイトがあり、そちらを解除したかった。通常の場合だと ...

CockpitにGoogle Authenticatorを用いたOtp認証を導入する方法
CockpitにGoogle Authenticatorを用いたOtp認証を導入する方法

Cockpitのセキュリティ対策としてGoogle Authenticatorを ...