イーサネットケーブルによる直接接続

イーサネットケーブルによる直接接続

これは実用的な目的よりも「研究」のためのものです。以下の私の推測はそうではないので、これがどのように機能するかを知りたいです。言い換えれば、/etc/network/interfacesディストリビューションやNetworkManagerに関連する答えは望ましくありません。

このタイプの回答を提供する質問と重複して閉じないでください。

一般(ビクロスオーバー)イーサネットケーブルを使用して2つのGNU / Linuxシステムを接続しようとしています。今は問題にならないという噂があります。

私がやろうとしているのは、両方のコンピュータのインターフェイスにプライベートIPを追加することです。

ip addr add 10.0.0.1 dev eth0

10.0.0.2他のコンピュータから。どちらもこの方法で識別できるネットワークに接続されていません。

その後、往復パスを追加しました。

ip route add 10.0.0.2 via 10.0.0.1

その逆。その結果、ip addrおよびの出力はip route正しいように見えます(下記参照)。 Johnのコメントによると、パスを追加せずにこの場合、pingはタイムアウトしました。

両方のシステムのiptablesは開いており、INPUT、OUTPUT、およびFORWARDは規則なしで許可されています。

しかし、pingを試みると、次のことが起こります。

> ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable

この値を返すのはローカルインターフェイス(10.0.0.1)です。

これにはどのような追加のステップが必要ですか?そして/またはどこで間違っていますか?


使用されるルーティングテーブルはip route ...次のとおりです。

default via 192.168.0.1 dev wlan0 
10.0.0.2 via 10.0.0.1 dev eth0 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.19 

Sansはip route ...同じように見えますが、ライン2はありません。


ethtool(両方のネットワークカードは同じハードウェアです)の出力は次のとおりです。

ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                             100baseT/Half 100baseT/Full 
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbag
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

ip aイーサネットNICの出力は次のとおりです。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b8:27:eb:f5:4f:7a brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba27:ebff:fef5:4f7a/64 scope link 
       valid_lft forever preferred_lft forever

ベストアンサー1

コメントに記載されているとおり、ルーティングテーブルを変更する必要があります。

この構文は、ip route add X via Yゲートウェイトラフィック、つまりトラフィックをX送信する必要があるかどうか(ほとんどの場合は外部アドレス)に使用されますYY 到達するには追加のパスが必要です。自分のインターフェイスアドレスでY問題を解決しないと、ループが生成され、ルーティングは機能しません。

必要なのは、ゲートウェイではなくインターフェイスを介して他のホストに直接トラフィックを送信することです。使用するネットマスクによってさまざまな可能性があります。

ip r add 10.0.0.2/32 dev eth0    # only 10.0.0.2 should go via eth0
...
ip r add 10.0.0.0/8 dev eth0     # 10.0.0.0 - 10.255.255.255 should go via eth0

おすすめ記事