
私は基本的に常にVPNに接続されているRPiにSSH接続しようとしていますが、SSHは失敗します。受け取ったこの問題を解決する方法についてはいくつかアイデアがありますが、私見では、SSH トラフィックを 2 番目のルーティング テーブルを経由させるのが最善です。
問題は、これが私のようなネットワーク初心者にとってはかなり複雑だということです。まったくわからなくなってしまったので、始めるためのヒントをいくつか教えていただけないでしょうか。特に、SSH トラフィックを 2 番目のテーブルに通すようにマークする方法を教えてください。
ありがとう
-あ
編集: Marius さん、回答をありがとうございました。ようやくこの件に取り組む時間ができたので、やったことをここに記します。
- sudo modprobe ip_conntrack
- sudo iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j CONNMARK --set-mark 1
- 次にルートとして:
- エコー 200 hma >> /etc/iproute2/rt_tables
- IPルート10.0.1.0/24 dev eth0テーブルhmaを追加します
- IP ルール FW マーク 1 テーブル HMA を追加
しかし、うまくいかないようです。何をすべきか本当にわからないので、これは驚くことではありません。
具体的には、2) と 4) について本当によくわかりません。2) は正しいのでしょうか? 4) については、追加する適切な IP はどこで見つけられますか、/24 は何を意味していますか、eth0 を経由する必要がありますか (私の VPN は tun0 のようです)?
再度、感謝します
編集2: 再起動後、実際にPiへのSSHアクセスが失われました:(
答え1
幸いなことに、これは実はとても簡単です。2 番目のルーティング テーブルにあるローカルホストの IP アドレスを IP2 と呼びます。その後、必要な操作は次のとおりです。
ssh -b IP2 me@some_remote_machine
この-b
オプションはsshにbind
(つまり(送信元アドレスとして使用)をIPアドレスIP2に設定します。すでに2番目のルーティングテーブルを設定している場合は、次のようなルールで
ip rule from IP2 table2
ここで、table2 は 2 番目のルーティング テーブルです。これで準備完了です。