下部に更新
私はCentosをルーターとして使用し、職場でルーティングシステムを交換しました。データを送信するための2つのルータがあります。ほとんどの場合、効果があります。 1つのルーターには、同じネットワークカード(eth1)に2つのネットワーク範囲があります。あるスコープにサーバーがあり、他のスコープの誰もSSHを介してサーバーに接続できません。しかし、pingは可能です。
クイックレイアウトは次のとおりです。
インターネットリンク:
eth0 - 192.168.144.50 (link between routers)
eth1 - 10.10.10.254 - 255.255.254.0 (10.10.10.x and 10.10.11.x ranges)
eth2 - internet
ルーター2:
eth0 - 192.168.144.24 (link between routers)
eth1 - 98.0.0.1 & 10.98.0.1 ranges (yes, I know 98.0.0.0 is not for private use, this is a legacy setup that we haven't been able to remove yet)
ここにいるIPルーティング印刷する:
98.0.0.0/24 dev eth1 proto kernel scope link src 98.0.0.1
192.168.144.0/24 dev eth0 proto kernel scope link src 192.168.144.24
10.98.0.0/24 dev eth1 proto kernel scope link src 10.98.0.1
default via 192.168.144.50 dev eth0
サーバーは98.0.0.6です。 10.98.0.165で動作するノートパソコンがあります。 ping 98.0.0.6 コマンドに対する応答を受け取りました。しかし、sshで接続しようとすると何も得られません。私のルーターでいくつかのtcpdumpコマンドを実行して、sshコマンドパケットがラップトップからインターネットルーター(192.168.144.50)に送信され、正しいルーターに再送信されることがわかりました。
私のiptablesリストは空です。上から私のIPルーティング出力を見ることができます。どんなアイデアがありますか?私は一日中これだけ見つめていた。私の理解は、ルータがパケットを受信するために98.0.0.6に対してeth1を介してパケットを再送信する必要があることです。ありがとうございます。
編集:はねかける部分を傷付けます。私はSSHセッションからルーターへのSSHトラフィックを見ていることに気づき、それを私のSSH要求に起因しました。
修正する 設定を外しました。 98.0.0.xはeth1にあり、10.98.0.xはeth2にあります。しかし、私が見たことはあまり意味がありませんでした。
10.98.0.165 ノートブックから 98.0.0.6 サーバーに ping を実行すると応答を受け取ります。行く道は変だった。デフォルトルートを介して192.168.144.50(インターネットルーター)に移動し、98.0.0.6に戻ります。 (インターネットルータのeth0にあるtcpdumpがこれを発見しました)
おいしい食べ物。このプロジェクトを開始したとき、私はポリシールーティングを介して2つのインターネットプロバイダを操作しようとしました。これを行うことができる関連項目はありますか?
これは私が更新した2番目のルーターのレイアウトです。
eth0 - 192.168.144.24 (router link)
eth1 - 98.0.0.1 / 24
eth2 - 10.98.0.1 /24
そしてIPパスの表示
98.0.0.0/24 dev eth1 proto kernel scope link src 98.0.0.1
192.168.144.0/24 dev eth0 proto kernel scope link src 192.168.144.24
10.98.0.0/24 dev eth2 proto kernel scope link src 10.98.0.1
default via 192.168.144.50 dev eth0
答え1
サーバーがping応答を受け取ると言ったように、iptablesルールがサーバーに適用され、サーバーがssh接続を切断する可能性があります。
サーバーの iptables ルールを表示する権限がある場合は確認してください。 SSH接続を削除するルールがあります。
答え2
私は答えを見つけました。各ネットワークカードにNATを追加しました。
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
それをやってみると、すべてがうまく機能し始めました。みんなありがとうございます!