SSH経由でアクセスしたいです。192.168.1.15私のコンピュータのサーバー、私のIPは192.168.1.99。
ソース宛先がUPでIPがあります。192.168.1.15。
これは、30台のコンピュータがネットワークに接続され、正常に動作するLANです。本番VPSに同じルールを適用する必要があるため、ローカルコンピュータでプレイしています。
私のコンピュータ192.168.1.99に次のiptablesを適用しました。これで、以下のチェーンの適用中に外部からパケットを受信できず、外部にパケットを送信することもできません。
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
上記のチェーンに続いて、マシンでSSHを許可する次のルールを追加しました。192.168.1.15入場192.164.1.15しかし、私はまだアクセスできません。192.168.1.15。
iptables -A INPUT -p tcp -i eth0 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
私のルールが正しいことを確認してください。それでも15回マシンにアクセスできません。
答え1
ルールは正しいようですが、SSH提供とSSHクライアントの使用が含まれます。
粒度が不要な場合は、インターフェースを指定する必要はありません。
ICMP メッセージがブロックされ、接続が機能しない可能性があります。
ループバックトラフィックも破棄され、意図しない結果が生じる可能性があります。
顧客ルール
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A OUTPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
サーバールール
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -p icmp -j ACCEPT iptables -A OUTPUT -p icmp -j ACCEPT iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
tcpdump
テスト中に接続を試みる一定時間トラフィックを実行して、クライアントによって生成されサーバーに表示されるトラフィックを監視できます。これは問題が何であるか、何が起こっているのかを絞り込むのに役立ちます。
client$ tcpdump -ni eth0 host 192.168.1.15
server$ tcpdump -ni eth0 host 192.168.1.99