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/
その他
あまりサーバー自体を再起動かけることは無いけど、その都度ファイアウォールが止まっていたというのは恐ろしい。挙動がおかしいと感じたらとりあえず再起動とかじゃなくて、ちゃんと原因を調べるようにしないといけないと思った。
関連記事
-
-
CentOS6系環境のVPSに対して公開鍵認証を設定する方法
本番稼動しているVPSサーバーでSSHの接続ログをかなり久しぶりに見ると、不正ロ ...
-
-
htaccessファイルで海外からのアクセスをIP制限する方法
「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外 ...
-
-
htmlファイル内でPHPを動かす(AddHandler)
サイトを引き継ぐことがあり、ソースを確認していると拡張子はhtmlなのにPHPの ...
-
-
apacheのアクセスログ等、ログファイルをリアルタイムで監視する方法
Apacheのエラーログやアクセスログをリアルタイムで監視したい。リアルタイムと ...
-
-
サーバファイルいじる際に「E325: ATTENTION」が出る場合の対処
httpd.confとかをSSH接続で触っている際に、例えばSSHクライアントソ ...