私と同じような問題が発生したことがあるかどうかを尋ねるために、ここに書いています。
私は自分のオフィスにMikrotikRB750UPを使用しています。ルーターは3つの異なるWANを管理しています。このような回線のバランシングやボンディングは使用していませんが、フェイルオーバーの理由で使用しています。
基本的に、接続は常にオンであり、WANに障害が発生した場合に、距離ベースのルーティングルールを使用してアクティブな接続を切り替えます。
私が強制する必要があるのは、WANに入るトラフィックを何らかの方法でマークし、ルーターが同じWANインターフェイスとIPから応答を返送できるようにすることです。 。
例:外部デバイスからWAN2_ip:portにリクエストを送信します。 RBはWAN1をオンにして(これは可能なルーティングルールの中で最初の選択肢でもあります)、この接続を使用して応答を送り返します(これは正しいものではありません)。
特定のインターフェイスに着信する接続にマークを付け、その接続に属するパケットにルーティングマークを付けようとしました。しかし、それは機能していないようです。
何か提案はありますか?
ありがとう
私はあなたがマークで正しい軌道に乗っていると思います。これを使用してからしばらく経ちますが、WANリンクごとに個別のルーティングテーブルを使用する必要があると思います。文書化されている情報と同様 ここ 。
したがって、たとえば、最初のWAN接続に対して次のように設定し、追加のWANごとに繰り返します。
($ {wan ...}変数を適切な値に置き換える/定義する)
# Get/Assign WAN1 gateway interface/IP
wan1_interface=eth0
wan1_gateway_ip_address="$(ifconfig br0 | grep 'inet addr:' | cut -d ':' -f2 | cut -d ' ' -f1)"
# Create routing table for WAN1
ip route replace default via ${wan1_gateway_ip_address} dev ${wan1_interface} table 100
ip rule add fwmark 0x7 table 100
# Setup policy for marking WAN1 traffic
iptables -t mangle -N wan1_policy
iptables -t mangle -A wan1_policy -j MARK --set-mark 0x7
# Mark traffic coming in on WAN1 interface
iptables -t mangle -A PREROUTING -i ${wan1_interface} -j wan1_policy
これが少し粗雑または不完全である場合は、お詫び申し上げます。残念ながら、私は自分の職業のWindows管理者です。ですから、私はこのレベルで非常に流暢になるほど頻繁にネットワークやLinux/Unixの側面をいじくり回す傾向はありません。しかし、私の脳のほこりっぽい角からより具体的な情報を思い出すことができれば、私は答えを更新します。 :)
UPDATE:使用していた古いスクリプトを見つけ、上記の例をより正確なコマンドで更新しました。私はあなたの状況に合わせてそれらを微調整する必要がありました(私はトラフィックをVPN接続に転送するためにそれらを使用していました)が、今はそれらが良いはずだと思います。