イーサネットケーブルを介した「パイプ」Wi-Fi信号


8

現在、私が働いている建物のイーサネットポートはダウンしていますが、Wi-Fiは機能しています。Wi-Fi対応のラップトップ(Ubuntu 14.04 LTS(Trusty Tahr))と、イーサネットプラグのみを備えた非Wi-Fi対応のワークステーション(Debian 8(Jessie))を持っています。

イーサネットケーブルを介して2つを接続し、ワークステーションでネットワーク接続を取得することは可能ですか?


疑わしいが、あなたは直接あなたのルーターにイーサネットケーブルを接続することができます。..
ryekayo

askubuntuでこの質問を参照してください-askubuntu.com/questions/359856/…。これは、少なくとも1つのネットワークポートが自動検知されている(またはクロスケーブルがある)ことを前提としています。
アンディC

回答:


9

はい、これを行うことができ、それはそれほど難しいことでもありません。ワイヤレスカードを備えたラップトップとイーサネットポートを持っています。Arch Linuxを実行しているRapberryPiを「クロスオーバー」イーサネットケーブル経由でプラグインしました。これは、あなたが必要とするかもしれない特別なことの1つです。すべてのイーサネットカードがマシン間直接接続を実行できるわけではありません。

もう1つのトリッキーな部分はIPアドレス指定です。これを説明するのが最善です。これが私の小さな設定スクリプトです。ここでも、enp9s0はラップトップのイーサネットポートで、wlp12s0はラップトップのワイヤレスデバイスです。

#!/bin/bash
/usr/bin/ip link set dev enp9s0 up
/usr/bin/ip addr add 172.16.1.1/24 dev enp9s0
sleep 10

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -A FORWARD -o enp9s0 -i wlp12s0 -s 172.16.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

dhcpd -cf /etc/dhcpd.enp9s0.conf enp9s0

このスクリプトは、イーサネットカードの静的IPアドレス172.16.1.1を設定してから、カーネルモジュールをロードしてNATを設定します。(ラップトップで)IPルーティングをオンにしてiptablesから、パケットをワイヤレスカードからイーサネットにルーティングするためのセミマジックを実行します。

私がしているdhcpdことがラズベリーPiは何を望んだからIPアドレスを与えるために、イーサネットポート上で実行されているが、あなたは、スタティックルーティング、DNSサーバー、およびNTPサーバと一緒に、ワークステーションに静的アドレスを行うことができます。

/etc/dhcpd.enp9s0.confそのルートを下った場合に備えて、ファイルは次のようになります。

option domain-name "subnet";
option domain-name-servers 10.0.0.3;
option routers 172.16.1.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
        subnet 172.16.1.0 netmask 255.255.255.0 {
                option subnet-mask 255.255.255.0;
                pool { range 172.16.1.50 172.16.1.200; }
        }
}

IPアドレスの選択は非常に重要です。ラップトップから出てくるイーサネットケーブルに172.16.1.0/24を使用しました。ラップトップのワイヤレスカードは192.161.1.0/24になります。ラップトップのワイヤレスのIPアドレスを確認し、イーサネットカード用に他のサブネットを選択する必要があります。さらに、「bogon」または「ルーティング不可」ネットワークのいずれかを選択する必要があります。私の例では、172.16.1.0 / 24は、192.168.1.0 / 24と同様に、ルーティング不可能な公式のIPアドレスの範囲からのものであり、10.0.0.3アドレスdhcpd.enp9s0.confは、DNSサーバーとNTPサーバーに割り当てられます。頭を使って、セットアップに何が適切かを理解する必要があります。


PS:許可を得るよりも許しを請う方が簡単です。早くやれよ。
Bruce Ediger 2016

これは素晴らしい答えです。私はそれに取り掛かります。ありがとうございました!
mbiokyle 2016

0

出来ますか?もちろんです。必要なのは、IP転送、ルーティング、またはラップトップのイーサネットポートからラップトップのWiFiへ、またはその逆にパケットを移動するその他の(簡単な)方法を構成することだけです。それは良い考えですか?おそらくそうではありません-あなたのネットワーク管理者はあなたと少し動揺するかもしれません。


0

ウィキペディアによると、イーサネットポートの1つがギガビットの場合、通常のケーブルは機能し、クロスの必要はありません。両側にギガビットがあり、通常のケーブルが機能します。

質問は2016年に行われるので、ネットワークマネージャーが両方のLinuxマシンで実行されていると想定します。GUIを使用してip-sを設定できます。そうでない場合は、カスタムセットアップを行い、コマンドプロンプトからipをセットアップする方法を知っているので、それらの詳細は省略します。

ケーブルで接続すると、ラップトップとワークステーションのイーサネットに関連するGUIにネットワークインターフェイス名が表示されます。

ワークステーション(および/またはラップトップ)を定期的に他のネットワーク機器に接続する必要がない場合は、イーサネットインターフェイスの両方に静的IPを設定できます。

静的IPをwi-fiと同じサブネットに設定しないでください。たとえば、wi-fiが192.168.1.0/16の場合、192.168.2.1と192.168.2.2に設定します。サブネットマスクは255.255.255.0です。IPの最後の「番号」だけが異なるためです、ワークステーションのDNSは、ラップトップのwi-fiと同じDNS IPに設定して、ワークステーションでDNS(IPだけでなく、名前でサイトを開く)を使用できるようにする必要があります。

ラップトップでIP転送を有効にする必要があります。

sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

ラップトップのネットワークマネージャーは、wi-fiよりもイーサネットの品質が高いと考えているため、デフォルトですべてを送信しようとし、イーサネットのセットアップ後にインターネットが失われます。wi-fiの使用に戻るには、ラップトップの場所に、イーサネット接続に関連するファイルの[ipv4]セクション(イーサネットのネットワークマネージャーGUIに表示される名前)で必要な/etc/NetworkManager/行を追加します。

never-default=true

(GUIにイーサネットの「この接続のリソースのみに使用する」チェックボックスのようなものがある場合-私の場合、接続プロパティのip4セクションにあり、代わりにそれを使用できます)。

そして最後に、IPテーブルルールがデフォルトですべて受け入れられると仮定すると、ワークステーションからのパケットはインターネットに行きますが、1つのコマンド(eth0があなたのwi-fi接続の場合、sudo ifconfig)で名前を見つけることができます:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

それでも機能しない場合は、ネットワークマネージャを再起動してください。

sudo service network-manager restart

これで準備は完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.