web-dev-qa-db-ja.com

memcached(Fedora)のイントラネットで11211ポートを受け入れるファイアウォールルールを確立するにはどうすればよいですか?

私はFedoraとバックエンドの初心者です。そして私は最近、linodeを介してゲームサーバーを構築する仕事をしています。現在のセットアップは2linode + 1 nodebalancerで、各linodeにmemcachedサーバーがあり、memcachedを監視するためにmemAdminをセットアップしています。

私の質問は、S1(memAdmin)がS2 11211にtelnetすることを許可するファイアウォールルールをどのように構築するかです。私のmemAdminはS1にあり、S2memcachedにアクセスするためのアクセス許可が必要です。私は次のようないくつかのルールを試しました:

iptables -P INPUT DROP
iptables -A INPUT -p tcp -s (S1's ip) --dport 23 -j ACCEPT
iptables -A INPUT -p tcp -s (S1's ip) --dport 11211 -j ACCEPT

-sに192.168.0.0/24のようなイントラネットのIPアドレスを試したこともありますが、それでも機能しません。/etc/sysconfig/memcachedのOPTIONを「-l0.0.0.0」に設定しています。memcachedサービスはip0.0.0.0でリッスンしていますが、S1からS211211をtelnetできません。

Iptablesサービスを停止しようとしました。また、PCを介してS2にtelnetできますが、S1からS2にtelnetできません。

私は初心者です、助けてください。

Iptablesの出力-LINPUT -vn:

チェーンINPUT(ポリシーDROP 225パケット、13464バイト)
 pktsバイトターゲットprotオプトインソース宛先
 0 0 ACCEPT tcp- * * S1のIP0.0.0.0/0 tcp dpt:23 
 7 420 ACCEPT tcp- * * S1のIP0.0.0.0/0 tcp dpt:11211 
 241314すべてを受け入れる--lo * 0.0.0.0/0 0.0.0.0/0
2
Chris

ついに私は解決策を見つけました。 S1とS2の両方のルールがありませんでした:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTこのルールをINPUTチェーンの最後に追加するとうまくいきます。あなたのすべての答えのためにもう一度Thx。

2
Chris

サーバーとクライアントは同じサブネット上にあるかどうか? memcachedがすべてのIPをリッスンしているかどうかを最初に確認してください:netstat -pntle | grep 11211。 4番目の列「0.0.0.0:11211」に表示されます。そうでない場合は、構成を確認し、サーバーを再起動します。行を追加しますiptables -A INPUT -j LOG拒否接続のログを取得します。

0
Dom