Skonfiguruj udostępnianie połączenia z określonym adresem IP

11

Edycja - bardziej zwięzła wersja pytania:

Podczas korzystania z udostępniania połączeń chcę, aby menedżer sieci używał podsieci 192.168.254 zamiast podsieci 10.42.0. czy to możliwe?

Tło :

Muszę udostępnić moje bezprzewodowe połączenie internetowe (na laptopie Ubuntu) z RasPi podłączonym do laptopa przez Ethernet.

Wszystko działa poprawnie konfigurując eth0 jako „wspólna z innymi komputerami” (udokumentowane w wielu miejscach, na przykład tutaj ).

Korzystając z tej konfiguracji, mój adres IP po połączeniu z RasPi to 10.42.0.1. RasPi wybiera inny adres w tej podsieci. Wszystko działa świetnie!

Ze względu na to, jak jest skonfigurowany raspi (do pracy z kilkoma innymi systemami), chcę eth0użyć 192.168.254.1. Jeśli skonfiguruję eth0 do ręcznego używania 192.168.254.1: Ręczna konfiguracja eth0

RasPi łączy się z moim laptopem i jestem w stanie to sshzrobić. Jednak mimo że nadal widzę prawidłową wlan0konfigurację podczas działania ifconfig, nie mogę uzyskać dostępu do Internetu (prawdopodobnie eth0zamiast tego próbuje tego użyć mój laptop wlan0).

Szukam sposobu na:

a) Nadal używaj, wlan0aby uzyskać dostęp do Internetu, gdy eth0 jest konfigurowany ręcznie

b) Wymuś eth0użycie określonego adresu IP, gdy jest skonfigurowany z „Shared to Other Computers”

Próbuję skonfigurować proste instrukcje dla innych użytkowników, więc jeśli to możliwe, chciałbym uniknąć ręcznej iptables-typekonfiguracji.

jake
źródło
To trochę trudne do zrobienia. Nie mogę teraz umieścić tutaj przewodnika, ale będę go później edytować. Spróbuj tutaj: howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
TheWanderer

Odpowiedzi:

15

W wersjach wcześniejszych niż 1.4.2 wersja 10.42.0.x jest zakodowana na stałe w NetworkManager . Zapomnij o rozwiązaniu opartym na GUI lub poczekaj, aż żądanie błędu / funkcji zostanie naprawione. Lub napraw to sam dla nas wszystkich. Lub przynajmniej głosuj na błąd na starterze, aby uzyskać szybsze rozwiązanie.

Uaktualnij do wersji Ubuntu 17.04 z wersją 1.4.4 lub użyj następującego polecenia Thomasa Hallera, aby ustawić adres IP i klasę hosta.

nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24

gdzie, $CONNECTION_IDjeśli znaleziono przez nmcli connection show. Następnie sprawdź za pomocą nmcli connection show $CONNECTION_ID.

Adam Ryczkowski
źródło
1
najwyraźniej błąd został naprawiony 14 września 2016 roku! Można teraz skonfigurować go za pomocą GUI, ale oczywiście zajmie to trochę czasu, aby przejść do kolejnych wersji.
hoijui
Zostało to naprawione w menedżerze sieci 1.4.2. Ubuntu 17.04 ma 1.4.4. Poprosiłem Canonical o przeniesienie tej wersji do 16.04 LTS. bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1098362/...
Lucas
Jak to zrobić w przypadku nowszych wersji?
leo
0

Twoja konfiguracja ma podstawowy problem. Twoja brama jest ustawiona na ten sam adres IP, co lokalny adres IP.

Grafika: Raspi: połącz się z 10.0.0.5 Raspi: nie w mojej podsieci, wyślij do bramy Raspi ponownie odbiera żądanie i odpowiada tym samym komunikatem.

Twoje pytanie jest nieco mylące, ale wydaje się, że twój laptop powinien mieć adres IP taki jak 192.168.254.2

Konieczne będzie również skonfigurowanie translacji adresów sieciowych na laptopie.

Myślę, że lepiej byłoby połączyć dwa interfejsy, aby raspi skutecznie używał Wi-Fi laptopa do komunikacji. Na laptopie wykonaj:

sudo -i

To sprawia, że ​​się rootujesz.

apt-get update
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 wlan0
brctl addif br0 eth0
ifconfig br0 10.42.0.1
ifconfig br0 netmask 255.0.0.0
ifconfig br0 up

Ctrl-D, aby wyjść z katalogu głównego

Na raspi (podłączony do eth0):

sudo ifconfig eth0 10.42.0.2
sudo ifconfig eth0 netmask 255.0.0.0
sudo ifconfig eth0 up
echo 'nameserver 8.8.8.8'>/etc/resolv.conf
ping 10.42.0.1
ping 8.8.8.8
ping fb.com

Ostatnie trzy polecenia pokażą, jaki typ dostępu do sieci masz:

  • Jeśli tylko pierwszy przejdzie: sieć lokalna
  • Jeśli do drugiego przechodzi: dostęp do Internetu
  • Jeśli wszystko przejdzie: dostęp do Internetu z DNS
Wilhelm Erasmus
źródło
Nie jestem pewien, co masz na myśli o mojej bramie / adresie. Kiedy udostępniam moje połączenie, czy mój laptop nie jest bramą dla RasPi? W konfiguracji ręcznej, którą pokazałem w OP, RasPi podnosi 192.168.254.100 - Nie mam problemów z niemożnością komunikacji z powodu różnych podsieci.
jake
Lepszym sposobem sformułowania pytania może być: podczas udostępniania mojego połączenia chcę, aby menedżer sieci używał podsieci 192.168.254 zamiast podsieci 10.42.0
jake
@jake twój laptop jest rzeczywiście bramą. Przepraszam, źle zrozumiałem pytanie. Teraz widzę problem. Możesz zrobić route -njako root ( sudo su), a następnie zrobić route del default gw 192.168.254.1 dev eth0, a ściślej, użyłbyś informacji z route -ndo wypełnienia instrukcji del, więc jest toroute del default gw <gateway> dev <Iface>
Wilhelm Erasmus