Greenpacket WiMax USBモデムを介してインターネットに接続されているLinux(Ubuntu 12.04)PCがあります。 Windows 7 Home Premiumを実行し、LAN経由でLinux PCに接続されている他のコンピュータとインターネット接続を共有したいと思います。可能ですか?どのように?逆の作業(インターネットをWindowsコンピュータに接続し、Linuxと共有)は可能ですか?
答え1
あなたは設定する必要がありますネットワークアドレス変換Linuxボックスから。 NATとiptablesを検索すると、Webで使用されているディストリビューションに関する多くのガイドがあります。以下はDebianガイドです。他のディストリビューションでも機能します。http://debianclusters.org/index.php/NAT_with_IPTables
以下は一部です。ドイツ語のUbuntuガイド:
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -o eth0 -s 192.168.0.0/16 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
起動時に実行される場所(/etc/rc.localまたは各行の前に「up」を置き、/etc/network/interfacesにすべてを置きます)に入れ、eth0を接続に置き換えます。ネットワークデバイスが接続されています。 LANに接続されたネットワークを介してインターネットとeth1に接続します。
Linux システムで設定しない場合は、bind
Windows システムに一部のネームサーバー (DNS) を手動で通知する必要があります。私はあなたのLANにDHCPサーバーが必要ないか、すでに存在していると思います。
答え2
質問は、
他の方法で実行できますか(インターネットをWindowsシステムに接続し、Linuxと共有)
WindowsからLinuxへのインターネット接続を共有する方法は次のとおりです。
ウィンドウでは、
インターネット共有が有効になっていることを確認してください。
- コントロールパネルに移動してネットワーク接続を見つけ、インターネットアダプタを右クリックして[プロパティ]をクリックします。
- 「詳細」をクリックします。
- インターネット共有を有効にするには、ここのラジオボタンをクリックしてください。
Windows 7の場合:
- コントロールパネル→「ネットワークと共有センター」に移動します。 (「ネットワークとインターネット」を経由する必要があります。)
- アダプタ設定の変更をクリックします。
- ネットワークアダプタを右クリックし、[プロパティ]をクリックします。プロンプトが表示されたら、管理者パスワードを入力してください。
- [共有]タブをクリックして共有を有効にします。
Linuxでは、
root(sudo
またはsu
)権限が必要です。
デフォルトゲートウェイを設定するには、次のように入力します。
route add default gw x.x.x.x
(注:xxxxをWindowsホストのローカルIPアドレスに置き換えます。Windowsのコマンドプロンプトで、次のように入力して
ipconfig -all
見つけることができます。)次に、次のように入力してDNSを設定します。
echo "nameserver y.y.y.y" > /etc/resolv.conf
(注:Windowsでは、yyyyをDNSサーバーアドレスに置き換えます。Windowsのコマンドプロンプトで、次のように入力して見つけることができます。
ipconfig -all
)
このシナリオでは、Windowsはインターネットに接続されています。すべてが設定されたら、Linuxでインターネットを試すことができます。 Linux および Windows ホストは同時にインターネットを使用できる必要があります。
答え3
LinuxシステムをWindowsシステムに接続するには(インターネットに接続するため)、動作するLAN(イーサネット)接続が必要です。ここで最初の記事で述べたようにです。したがって、デフォルトでは、両方のシステムに静的プライベートIPv4アドレスを直接割り当てる必要があります。接続を「プライベート」または「信頼できる」に設定する必要があります。両方のコンピュータを接続したら、ネットワークと共有センター - >アダプタ設定の変更に進み、インターネット接続に対応するネットワークインターフェイスを選択します。プロパティを右クリックして、共有接続に関連するタブを見つけます。ここで、LAN(イーサネット)接続を選択して他のコンピュータと共有できます。
このスレッドの最初の記事で述べたように、「内部」LAN PCでDNSを指定する必要があるかもしれません。したがって、Windowsのコマンドプロンプトでipconfigを実行して使用しているDNSを確認するか、GoogleのDNS 8.8.8.8および/または8.8.4.4を使用する必要があります。
答え4
簡単な案内があります。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)。今すぐパッケージの配信を設定します。
まず、Linux PCでパケット転送を有効にする必要があります(oracle-base.comでリンクされているガイドを参照)。
次に、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」を作成してください。
これで、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アドレスを使用してください。確認してください。