"Pipa" sinyal Wi-Fi melalui kabel Ethernet

8

Saat ini port Ethernet di gedung tempat saya bekerja sedang down, tetapi Wi-Fi berfungsi. Saya memiliki laptop yang mendukung Wi-Fi ( Ubuntu 14.04 LTS (Trusty Tahr)) dan workstation non-Wi-Fi yang diaktifkan ( Debian 8 (Jessie)) dengan hanya colokan Ethernet.

Apakah mungkin untuk menghubungkan keduanya melalui kabel Ethernet dan dapat memperoleh konektivitas jaringan di workstation?

mbiokyle
sumber
Diragukan, tetapi Anda dapat mencolokkan kabel Ethernet langsung ke Router Anda ..
ryekayo
Lihat pertanyaan ini di askubuntu - askubuntu.com/questions/359856/… . Ini mengasumsikan setidaknya salah satu port jaringan adalah auto-sensing (atau Anda memiliki kabel crossover).
Andy C

Jawaban:

9

Ya, Anda bisa melakukan ini, dan itu tidak terlalu sulit. Saya memiliki laptop dengan kartu nirkabel, dan port ethernet. Saya menghubungkan RapberryPi yang menjalankan Arch Linux ke dalamnya, melalui kabel ethernet "crossover". Itu satu hal khusus yang mungkin Anda butuhkan - tidak semua kartu ethernet dapat melakukan koneksi langsung mesin-ke-mesin.

Bagian rumit lainnya adalah pengalamatan IP. Yang terbaik untuk menggambarkan ini. Ini skrip pengaturan kecil saya. Sekali lagi, enp9s0 adalah port ethernet laptop, dan wlp12s0 adalah perangkat nirkabel laptop.

#!/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

Script menetapkan alamat IP statis untuk kartu ethernet, 172.16.1.1, kemudian mengatur NAT dengan memuat modul kernel. Mengaktifkan routing IP (pada laptop), kemudian melakukan iptablessemi-magic untuk mendapatkan paket yang dialihkan dari kartu nirkabel keluar ethernet, dan sebaliknya.

Saya telah dhcpdmenjalankan port ethernet untuk memberikan alamat IP karena itulah yang diinginkan Raspberry Pi, tetapi Anda dapat melakukan alamat statis di workstation Anda, bersama dengan perutean statis, server DNS, dan server NTP.

File /etc/dhcpd.enp9s0.confterlihat seperti ini, kalau-kalau Anda turun rute itu:

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; }
        }
}

Pilihan alamat IP sangat penting. Saya menggunakan 172.16.1.0/24 untuk kabel ethernet yang keluar dari laptop. Kartu nirkabel di laptop berakhir dengan 192.161.1.0/24. Anda perlu melihat alamat IP nirkabel apa yang dimiliki laptop, dan pilih beberapa subnet lain untuk kartu ethernet. Selanjutnya, Anda harus memilih salah satu dari jaringan "bogon" atau "non-routable". Dalam contoh saya, 172.16.1.0/24 berasal dari rentang alamat IP resmi non-routable, seperti 192.168.1.0/24, dan demikian juga alamat 10.0.0.3 dhcpd.enp9s0.confmemberikan untuk server DNS dan server NTP. Anda harus menggunakan kepala Anda untuk mencari tahu apa yang sesuai untuk pengaturan Anda.

Bruce Ediger
sumber
PS: Memohon maaf lebih mudah daripada meminta izin. Lakukan saja.
Bruce Ediger
Ini jawaban yang bagus. Saya akan mulai mengerjakannya. Terima kasih!
mbiokyle
0

Apa itu mungkin? Benar. Yang perlu Anda lakukan adalah mengonfigurasi IP forwarding, atau routing, atau cara lain (sederhana) untuk memindahkan paket dari port ethernet di laptop ke WiFi di laptop dan sebaliknya. Apakah itu ide yang bagus? Mungkin tidak - admin jaringan Anda mungkin sedikit kesal dengan Anda.

John
sumber
0

Per wikipedia jika salah satu port ethernet adalah gigabit, kabel biasa akan berfungsi, tidak perlu cross, saya punya gigabit di kedua sisi dan kabel biasa.

Pertanyaannya ditanyakan pada tahun 2016, jadi saya anggap manajer jaringan berjalan di kedua mesin Linux, Anda dapat menggunakan GUI untuk mengatur ip-s, jika tidak, Anda mungkin membuat pengaturan khusus dan tahu cara mengatur ip dari command prompt, jadi Saya menghilangkan detail itu.

Setelah Anda terhubung dengan kabel, Anda akan mendapatkan nama antarmuka jaringan dalam GUI yang berkaitan dengan ethernet di laptop dan workstation.

Dengan asumsi Anda tidak peduli tentang menghubungkan workstation (dan / atau laptop dengan ethernet) secara berkala ke peralatan jaringan lain, Anda dapat mengatur IP statis pada keduanya untuk antarmuka ethernet.

Atur IP statis Anda tidak sama dengan subnet untuk wi-fi, misalnya jika wi-fi adalah 192.168.1.0/16, setel ke 192.168.2.1 dan 192.168.2.2, subnet mask adalah 255.255.255.0 karena hanya 'angka' terakhir dari IP yang berbeda. , DNS pada workstation harus diatur ke IP DNS yang sama seperti untuk wi-fi pada laptop untuk dapat menggunakan DNS (situs terbuka dengan nama, tidak hanya IP) pada workstation.

Anda perlu mengaktifkan penerusan IP di laptop:

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

Karena sangat mungkin Anda manajer jaringan pada laptop menganggap Ethernet lebih baik daripada wi-fi, ia akan mencoba mengirim semuanya ke sana secara default dan Anda akan kehilangan internet setelah menyiapkan Ethernet. Untuk kembali menggunakan wi-fi, pada laptop Anda perlu di bagian [ipv4] file yang berkaitan dengan koneksi ethernet (nama yang Anda lihat di manajer jaringan GUI untuk ethernet) di lokasi /etc/NetworkManager/tambahkan baris

never-default=true

(jika GUI Anda memiliki sesuatu seperti "Gunakan hanya untuk sumber daya pada koneksi ini" kotak centang untuk ethernet - di tambang itu ada di bagian ip4 dari properti koneksi, Anda dapat menggunakannya sebagai gantinya).

Dan akhirnya, dengan asumsi Anda aturan tabel IP tetap secara default MENERIMA segalanya, paket Anda dari workstation akan masuk ke internet, tetapi tidak akan menemukan jalan kembali hanya bepergian ke laptop sampai Anda mengatur aturan NAT di laptop dengan satu perintah (di mana eth0 harus nama koneksi wi-fi Anda, Anda dapat mengetahui namanya dengan sudo ifconfig):

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

Jika tidak berhasil setelah itu coba mulai ulang manajer jaringan:

sudo service network-manager restart

Anda harus siap.

Alexei Martianov
sumber