Debian OS を実行するラズベリーパイには wlan0 と eth0 という 2 つのインタフェースがあります。両方のインターフェイスは両方のゲートウェイ サーバーから dhcp を取得します。 2つのLANにどのようにpingを送りますか?たとえば、
eth0 -> gateway 10.1.22.1 -> LAN 10.0.0.0/8
wlan0 -> gateway 192.168.10.1 -> LAN 192.168.10.0/24
-> also can browse internet
私が得たルーティングテーブルは次のとおりです。
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.1.22.1 0.0.0.0 UG 203 0 0 eth0
default 192.168.10.1 0.0.0.0 UG 304 0 0 wlan0
10.1.22.0 0.0.0.0 255.255.255.0 U 203 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 304 0 0 wlan0
LAN 10.0.0.0/8をpingできますが、インターネットを検索できません。インターネットを閲覧してLAN 10.0.0.0/8をpingするにはどうすればよいですか?
申し訳ありません。これはデフォルトのLinuxネットワーク構成です。私はLinuxオペレーティングシステムに精通していません。誰かが私が理解できるように助けてください。
答え1
このdefault
パスは、ローカルネットワークにないコンピュータ(インターネットアクセスなど)用です。
2つのパスがありますdefault
。インターネットにアクセスする2つの方法があると述べたので、少し混乱しています。
私はその1つが間違っていて10.1.22.1
インターネットゲートウェイとして機能しない可能性があり、これがインターネットにアクセスできない理由だと思います。
解決策は、このルートを削除し、デフォルトのルートだけを残し、インターネットアクセスを提供するゲートウェイを提供することです。
それでも10.0.0.0/8にありますが、LANセグメント(10.1.22.0/24)の外部にあるホストをpingするには、ゲートウェイの宛先を10.0.0.0/8に設定しますdefault
。これにより、トラフィックネットワークは10.0.0.0/8のみになります。 (インターネットトラフィックではありません)がこのパスを通過します。
答え2
インターフェイスからデフォルトルートを削除したり、少なくともeth0
インターネットにアクセスするために使用したいインターフェイスよりも高い指標を使用する必要があります。 2 つの競合する基本ルートがあり、RPi はローカルでないアドレスにパケットをルーティングするために間違ったインターフェイスを選択しました。
あなたの質問には矛盾もあります。テキストでLANに言及しましたが、10.0.0.0/8
ルーティングテーブルにはnetmask 255.255.255.0
、つまりがあります10.0.0.0/24
。
答え3
/lib/dhcpcd/dhcpcd-hooksに追加のパスを追加し、コンテンツを含む40個のパスファイルを追加して、最終的に設定を完了しました。
ip route add 10.0.0.0/8 via 10.1.22.1
/etc/dhcpcd.conf にさらに行を追加します。
interface wlan0
metric 100
interface eth0
metric 200
これで、両方のLANにpingを送信できます。もう1つの問題は、ゲートウェイ192.168.10.1に実際にIPアドレス10.0.0.0/8があることです。たとえば、10.0.0.1から10.0.0.21までのIPアドレスはゲートウェイ10.1.22.1から来る必要があり、10.0.0.22から10.254.254.254までのIPアドレスは192.168.10.1からゲートウェイに移動する必要があります。ただし、10.1.22.1にはインターネットがありません(voipサーバーゲートウェイのみ)。