勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

iptablesを更新するとFTP接続ができなくなる

   

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の自動起動設定が行われていなかった。自動起動の有無は以下でチェックする。

 

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

 

■改善策

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

 

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

 

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

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

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

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

 

■その他

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

 - サーバー

  関連記事

images
PHPのエラーログの場所が設定されていない場合

php.iniでエラーログを取るようにはなっているけど、 ログファイルの場所が設 ...

images
Apacheのログを見やすくする(ApacheLogViewer)

サーバのリソース監視をしていると寝ている時間にロードアベレージが跳ね上がっていた ...

images
APCの導入。pecl install apcで入らなかったのでyumで導入。

APC入れたらPHPのメモリ消費を抑えられるというのを見たので導入。 調べながら ...

images
WordPress Popular Postsのサムネイルが表示されない

WordPressの人気記事を表示させるWordPress Popular Po ...

images
Tera Termでコマンドのキャンセル

ssh接続していてコマンドをキャンセルしたい場合は ctrl + c でキャンセ ...

images
WordPressサイトのロードアベレージが高い

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

images
cronの設定方法

cronを設定してみたので方法をメモ。 まずcronで動かすPHPを作成。 ■c ...

images
pearのインストール状況を確認

pearがインストールされているのかどうか調べたかった。 pear versio ...

domain_world_map
ブログサービスの様にサブドメインを動的に生成する方法  

ブログサービスの様に「hoge」というログインIDを作成した際、「hoge.bl ...

images
IPアドレスでサイトを表示させないようにする方法

http://aaa.comというドメインを111.222.333.444という ...