オフィスには、インターネット接続用の無線LANとイントラネット接続用のイーサネットケーブルがあります。同時に、両方を使用できるようにラップトップを構成したいのですが、これまではできませんでした。私が見つけたこれ回答しますが、私の状況に適用するにはネットワーキングの知識が不足しています。
両方のネットワークに接続すると、インターフェイスを明示的に指定しないとインターネットにアクセスできますが、イントラネットにはアクセスできません。
動作しません:
ping 10.158.51.11
働く:
ping -I enp0s20u2 10.158.51.11
私の現在の設定:
~ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c4:85:08:41:a2:6c brd ff:ff:ff:ff:ff:ff
inet 10.161.253.58/21 brd 10.161.255.255 scope global dynamic noprefixroute wlp2s0
valid_lft 12964sec preferred_lft 12964sec
inet6 fe80::ad6b:7406:af47:5b33/64 scope link noprefixroute
valid_lft forever preferred_lft forever
7: enp0s20u2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 9c:eb:e8:0a:1a:8c brd ff:ff:ff:ff:ff:ff
inet 10.144.96.246/22 brd 10.144.99.255 scope global dynamic noprefixroute enp0s20u2
valid_lft 84916sec preferred_lft 84916sec
inet6 fe80::6d66:6e10:cf2:abce/64 scope link noprefixroute
valid_lft forever preferred_lft forever
~ ip route
default via 10.161.248.1 dev wlp2s0 proto dhcp metric 600
default via 10.144.96.1 dev enp0s20u2 proto dhcp metric 20100
10.144.96.0/22 dev enp0s20u2 proto kernel scope link src 10.144.96.246 metric 100
10.161.248.0/21 dev wlp2s0 proto kernel scope link src 10.161.253.58 metric 600
解決策
許可された回答を補うために、最終的にすべてが機能するように小さなDNSプロキシを作成しました。完全な解決策は次のとおりです。
相互作用:
- wlp2s0 インターネット用無線LAN
- enp0s20f0u1 イントラネットを使用するためのイーサネット接続
スピード:
- 2つのインターフェース接続
- enp0s20f0u1のデフォルトパスを削除します。
sudo ip route del default via 10.144.96.1
- enp0s20f0u1へのパスを追加します。
sudo ip route add 10.0.0.0/8 via 10.144.96.1 dev enp0s20f0u1
- インストールするドメイン名解決プロトコル
- ネームサーバーをlocalhostに変更
- 独自の設定でdnsrpを起動
sudo dnsrp -c conf.toml
答え1
まず、ルーティングテーブルの一般的な概念は、すべての可能なホストとネットワークに到達する方法を指定することです。ルーティングテーブルは、最も具体的なエントリが最初に来るように自動的にソートされ、パケットの宛先アドレスに一致する最初のエントリがそのパケットに使用されます。最も具体的ではないパスは常にデフォルトゲートウェイです。これは、一種の「指定されていないすべての項目についてそこに送信します」です。
あなたの場合は、イントラネットで使用されているネットワークセグメントを特定し、そのネットワークセグメントに向かうすべてのトラフィックをイントラネット側ゲートウェイに転送するための1つ以上のルートエントリを指定する必要があります。
たとえば、すべてのイントラネットセグメントがおそらく10 *アドレスの範囲内にあると推測できます。この場合、次のパスを指定します。
sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.144.96.1 dev enp0s20u2
このip
コマンドを使用すると、同等の構文は次のとおりです。
sudo ip route add 10.0.0.0/8 via 10.144.96.1 dev enp0s20u2
ワイヤレスセグメントにはすでに自動生成されたルートがあるため、10.161.248.0/21セグメント内のすべてのエントリは、メトリックが最も低いデフォルトゲートウェイを含むワイヤレスインターフェイスを介して自動的に到着するため、デフォルトのインターネット接続が提供されます。時間が経つと、新しいルートは有線インターフェイスを介して他のすべての10 *ネットワークセグメントにバインドされたトラフィックをイントラネットゲートウェイに送信します。
現在設定されているDNSサーバーがイントラネット側にあり、インターネットアドレスも確認している場合は、すべてがスムーズに行われます。ただし、インターネットアドレスに1つのDNSサーバーを使用し、イントラネットに別のDNSサーバーを使用する必要がある場合、状況は複雑になります。
まず、ワイヤレスインターフェイスを介してインターネット側のDNSサーバーにアクセスし、サーバーが10.161.248.0/21ワイヤレスネットワークセグメント内にない場合は、別々のルーティングエントリを作成する必要があります。
第二に、単に使用することはできません/etc/resolv.conf
。場合によっては、キャッシュのみの構成でローカルBINDネームサーバーをインストールし、インターネット側のDNSサーバーをデフォルトのフォワーダーとして指定し、この状況を解決するには、イントラネットDNSサーバーを指すすべてのイントラネットDNSを構成します。
答え2
デフォルトでは、次の2つのパスを設定する必要があります。
どのゲートウェイを使用するのかわからないため、データ内のゲートウェイを使用してください。
sudo route add -net 10.144.96.0 netmask 10.144.99.0 gw 10.144.248.1 dev enp0s20u2
sudo route add -net 10.161.0.0 netmask 10.161.0.0 gw 10.161.248.1 dev wlp2s0
そうですね、もう一度学ぶ必要があります...
IPルーティングがあります
sudo ip route add to 10.144.96.0/21 via 10.144.248.1 dev enp0s20u2
sudo ip route add to 10.161.0.0/22 via 10.144.248.1 dev wlp2s0
私には適していませんが、うまくいくかもしれませんip route
...