私は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
ついに私は解決策を見つけました。 S1とS2の両方のルールがありませんでした:iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
このルールをINPUTチェーンの最後に追加するとうまくいきます。あなたのすべての答えのためにもう一度Thx。
サーバーとクライアントは同じサブネット上にあるかどうか? memcachedがすべてのIPをリッスンしているかどうかを最初に確認してください:netstat -pntle | grep 11211
。 4番目の列「0.0.0.0:11211」に表示されます。そうでない場合は、構成を確認し、サーバーを再起動します。行を追加しますiptables -A INPUT -j LOG
拒否接続のログを取得します。