イーサネットケーブルでインターネット接続を共有する

イーサネットケーブルでインターネット接続を共有する

Arch Linuxを使用してイーサネットケーブルを介してインターネットにワイヤレス接続を共有する方法は?

つまり、インターネットにWi-Fi接続されたノートパソコンがあり、Ethernetケーブルを介して実行されているWi-Fiソフトウェアがないコンピュータとそのノートブックを共有したいと思います。

ここにガイドがあります

https://medium.com/@TarunChinmai/sharing-internet-connection-from-a-linux-machine-over-ethernet-a5cbbd775a4f

しかし、それは使用されていてifconfig古いと思います。

受信コンピュータはWindowsシステムですが、それは重要ではないと思います。

答え1

ラップトップ上のインターフェイス間でトラフィックをルーティングしてNATを設定するには、次のコマンドを使用する必要があります。

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o [your wireless adapter] -j MASQUERADE

また、ケーブルで接続されている両方のコンピュータのイーサネットネットワークカードに静的IPを提供する必要があります。手動または類似のアプリを使用してくださいNetwork Manager。インターネットに接続されていない2台目のコンピュータでは、ノートブックの固定IPアドレスをゲートウェイとして追加し、DNSサーバーのIPをラップトップと同じに設定する必要があります(cat /etc/resolv.confDNSを使用した最新の実装ではない場合は、DNSサーバーのIP / IPが表示されることがあります)あり)。設定)。

答え2

簡単な案内があります。https://oracle-base.com/articles/linux/use-iptables-to-implement-packet-filtering-and-configure-nat。ところで、Windowsでは、Linux PCで使用するDNSアドレスをWindowsでも提供しなければならないという事実を発見しました。

私のLinux PCに3G USBモデムが接続されており、インターネットにアクセスできる2台のWindows PCがあります。これを(カーネル)パケット転送といい、最終的に理解すると非常に簡単で高速です。

Linuxでは「ifconfig」コマンド(ターミナルで)を実行し、Windowsでは「ipconfig」コマンド(コマンドプロンプトで)を実行してネットワークインタフェース名を見つける必要があります。 Linuxのインターフェース名は左端にあります(例:enp2s0、enp3s0、enp0s18f2u6、lo)。今すぐパッケージの配信を設定します。

  1. まず、Linux PCでパケット転送を有効にする必要があります(oracle-base.comでリンクされているガイドを参照)。

  2. 次に、oracle-base.com のガイドで説明されているように、次のコマンドを実行できます (ただし、読み続ける前にしばらくお待ちください)。

    sudo iptables -I 転送 -i my_lan_interface -o my_modem_interface -j 受け入れ sudo iptables -I 転送 -i my_modem_interface -o my_lan_interface -j 受け入れ sudo iptables -t nat -I POSTROUTING -o my_modem_interface -j MASQUERADE

    しかし、私はオンラインでより強力な方法を見つけました。

    sudo iptables -t nat -A POSTROUTING -o my_modem_interface -j MASQUERADE --random sudo iptables -A FORWARD -i my_lan_interface -o my_modem_interface -j 受け入れ sudo iptables -A FORWARD -i my_modem_interface -o my_lan_interfacem - con確立 -j sudo iptables 承諾 -A フォワード -j 削除

    以下は、同じ順序で上記のコマンド(「より強力な」例)の説明です。

    • 最初のコマンド:my_modem_interfaceで偽装を有効にして、発信パケットの送信元アドレスを書き換えます。 --random フラグは対称型 NAT で使用されます。

    これで、転送ルールを設定する必要があります。 iptablesはデフォルトですべてのトラフィックを無条件に転送します。ここでは、インターネットからのインバウンドトラフィックを制限し、すべてのアウトバウンドトラフィックを許可することを好みます。

    • 2番目のコマンド:my_lan_interfaceからmy_modem_interfaceへのトラフィックを許可します。
    • 3番目のコマンド:my_modem_interfaceからmy_lan_interfaceへのトラフィックを許可します。
    • 4番目のコマンド:転送しないでください他のすべてのトラフィックを破棄します。

    Linux PCを再起動したら、これらのコマンドを再入力する必要があります。起動するたびにコマンドを実行するスクリプトがあります。適切な「サービス」呼び出しにより、これらの変更を永久に適用できます(上記のoracle-base.comガイドを参照)。ただし、起動時にスクリプトで実行することをお勧めします。あなたが保存することはもう一つの課題です。問題が発生したり変更したい場合、または現在のセッションでこの機能を使用したくない場合(またはまったく使用したくない場合)、PCを再起動するとその機能は消えますが、パケットを無効にする必要があります。この手法を完全に無効にするには、再起動する前に /etc/sysctl.conf に「net.ipv4.ip_forward=0」を作成してください。

  3. これで、Linux PCと他のコンピュータ間にネットワーク接続(イーサネット接続)を作成する必要があります。たとえば、

    • A)インターネットに接続されているLinux PC(私はFedoraを使用)でNetwork Connection Managerを使用してイーサネット接続を作成し、適切なインターフェース(ネットワークカード名、私の場合はenp3s0)を選択してから、このLinux PCをMy LANに接続します。正しいファイアウォール領域を選択したことを確認してください。そうしないと、LANからインターネットにアクセスできなくなります。したがって、内部LANインターフェイスなので、ファイアウォール領域を「信頼できる」に設定し、モデム接続インターフェイスを「パブリック」に設定する必要があります。次に、[IPv4設定]タブで、接続にIPv4を使用する必要があります(IPv6は無視できます)を設定し、手動アドレス設定を選択します。次に、アドレス 192.168.2.100 を追加します。これはLAN上のこのLinux PCのアドレスになります。ネットマスクは自動的に設定されます(「クラスC」(個人)アドレスであるため、255.255.255.0)。設定を適用してリンクします。

    • B)2台目のPC(LinuxまたはWindowsを使用し、イーサネットケーブルを介して上記の1台目のPCに接続)でもネットワーク接続を作成し(Windowsの場合は以下の詳細を参照)、1台目のPCに適したネットワークインタフェース(デバイス/カード)を選択します。 PC)、最初のPCに上記の手動IPv4設定を使用しますが、ここではアドレス192.168.2.101を設定します。これはLAN上の2番目のPCのアドレスになります(このアドレスは「プライベート」アドレスであるため、外部では見えません)。あなたのLAN)。

    • B1)Windows(オペレーティングシステム)に接続するには、「ネットワークと共有センター」 - >「アダプタ設定の変更」に進み、このWindows PCでLANネットワークカードに対応するネットワークインターフェイスを見つけます。また、イーサネットネットワークケーブルを介して最初のPCに接続されています。ここでインターフェイスを選択し、プロパティを右クリックします。リストが表示されます。ここで、「インターネットプロトコルバージョン6」を選択解除し、「インターネットプロトコルバージョン4」をダブルクリックします。次に、アドレス192.168.2.101と入力します。これは、このインターフェイス([LAN / Ethernet]接続)からWindows PCのアドレスになります。 Tabキーを押すと、ネットワークマスク(255.255.255.0)が自動的に入力されます。 (ネットワークプロファイルを公開に設定できます。)

    • B2)最初のLinux PCにゲートウェイアドレスを設定する必要があるため、ゲートウェイアドレス192.168.2.100を入力する必要があります。

    • C)これで、最初のLinux PCで使用しているDNSアドレスを入力する必要があります。たとえば、私のモデムはDNSアドレス192.168.1.1を使用します( "nmcli device show | grep IP4.DNS"コマンドを使用してこのアドレスを見つけることができます。インターフェイス名はインターネットに接続されているLinuxインターフェイスの名前です) 。 (Windowsを使用してインターネットに接続する場合は、ターミナル/コマンドプロンプトで「ipconfig」を実行してDNSアドレスを見つけます)。それはすべてです。 DNS情報はインターネット接続に非常に重要です。

簡単に言うと:

私のモデムアドレス:192.168.1.100、DNS 192.168.1.1。

LANのLinux PCアドレス:192.168.2.100、上記のようにファイアウォール領域が「信頼できる」に設定され、パケット転送が有効なiptablesを使用してトラフィックをリダイレクトします。

Windows PC 1アドレス:192.168.2.101、DNSは192.168.1.1に設定され、ネットワークプロファイルは公開に設定されます。 (デフォルトゲートウェイはLinux PC:192.168.2.100に設定されています。)

Windows PC 2アドレス:192.168.2.102、DNSは192.168.1.1に設定、ネットワークプロファイルは公開に設定。 (デフォルトゲートウェイはLinux PC:192.168.2.100に設定されています。)

(すべてのコンピュータは、通常のイーサネットケーブル(「パッチコード」または「パッチコード」とも呼ばれます)を備えたシンプルなイーサネットスイッチを介して一緒に接続されています。あります。

ガイドもあります:https://medium.com/@TarunChinmai/sharing-internet-connection-from-a-linux-machine-over-ethernet-a5cbbd775a4f、GoogleのDNSアドレスを使用してください。確認してください。

関連情報