iptables はルールの受け入れにもかかわらず、ポートの変更後に SSH を介した接続をブロックします。

iptables はルールの受け入れにもかかわらず、ポートの変更後に SSH を介した接続をブロックします。

ルータに 2 台のコンピュータが接続されています。 1 つは PuTTY がある Windows、もう 1 つは sshd がある CentOS 6.4 で、既定の SELinux はまだアクティブです。彼らはすべてお互いに正常にpingすることができます。

使用できるようにpolicycore-pythonパッケージをインストールしたsemanage後に従いました。この方向

ステップ4はすでにそのように設定されているため、新しいデフォルト設定のように見えます。

ステップ5は機能します。問題の問題は、~/.ssh/config他のシステムにSSHクライアントを設定して適用されないことを前提としています。 (PuTTYでも同様のことができます。)

ステップ6最短で最も適用可能なものが3番目のオプションだと思うので、次のようにします。

iptables -A INPUT -p tcp --dport 2345 --syn -m limit --limit 1/m --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --dport 2345 --syn -j DROP
service iptables save
service iptables restart

この時点でCentOSボックスではssh -p 2345 localhost正常にログインできますssh -p 2345 192.168.1.4が、PuTTYを使用してCentOSボックスに入ることはできません。接続ウィンドウに正しいIPとポート2345を入力しましたが、接続しようとすると、緑色のカーソルが塗りつぶされた黒い画面が表示され、数秒後にGUIポップアップが表示されますNetwork error: Connection timed out

もし私がiptables サービスの停止、同じ方法でPuTTYを使用してログインできます。したがって、質問は確かに有無にiptables関係があるようですsshd(またではないsemanage?)。

私にとって何が起こりましたかiptables

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2345 flags:FIN,SYN,RST,ACK/SYN limit: avg 1/min burst 3
DROP       tcp  --  anywhere             anywhere            tcp dpt:2345 flags:FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

ベストアンサー1

このREJECTルールは新しいルールの後に作成する必要があります。これを行う:

$ sudo service iptables stop
[sudo] password for kev:
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
$ sudo nano /etc/sysconfig/iptables
$ sudo service iptables start

nanoが開いたら、REJECT行を切り取り、2つの新しいルールの下で切り捨ててから、書き込んで終了します。

また、ローカルホストで一度だけsshを実行すると、外部で実行できます。

おすすめ記事