[LIFEHACK] Szybkie dzielenie łącza przez Raspberry (dedykowany system linuksowy Raspberry)

Już wcześniej na naszym blogu pojawił się elaborat na ten temat 😉 Dziś omówimy tę kwestię maksymalnie szybko. Oczywiście tamten artykuł może być pomocny przy wystąpieniu błędów z wykonaniem takiej konfiguracji. Zatem zachęcamy do lektury.

Założenia

1) Raspberry Pi będzie „otrzymywać” Internet przez WiFi. W jaki sposób połączyć ten komputer z WiFi (także bez GUI – po samej konsoli) opisaliśmy w artykule:

Jak w systemie Raspbian (Raspberry Pi) połączyć się z WiFi?

2. Internet będzie następnie serwowany do innego komputera poprzez kabel typu Ethernet.

Wymagany zestaw

1. Urządzenie Rasberry PI w wersji posiadającej odp. interface’y sieciowe (WiFi, gniazdo Ethernet). Ewentualnie zamiast wbudowanego WiFi (starsze wersje) można np. użyć anteny wireless lan w postaci modułu USB.

2. Zainstalowany (w miarę aktualny) system Raspbian. Wystarczą też wersje bazowe (naszym przypadku to bullseye)

3. Kabel Ethernet

4. Urządzenie obierające Internet – musi także posiadać gniazdo Ethernet.

5. Zasilacz USB do zapewnienia prądu dla Raspberry PI.

Ustawienie systemu Raspian na Raspberry PI.

Połączenie z WIFI.

Tutaj zakładamy, że połączenie jest zapewnione i jeśli wywołać w konsoli np.

ping linuxporady.pl

Otrzymujesz poprawną odpowiedź naszego serwera.

Instalacja wymaganych pakietów:

sudo apt-get install dnsmasq

Tworzenie skryptu do dzielenia łącza.

W folderze głownym załóż plik:

nano ~/wifi-to-eth-route.sh

Treść tego pliku jest poniżej:

#!/bin/bash

# Share Wifi with Eth device
#
#
# This script is created to work with Raspbian Stretch
# but it can be used with most of the distributions
# by making few changes.
#
# Make sure you have already installed `dnsmasq`
# Please modify the variables according to your need
# Don't forget to change the name of network interface
# Check them with `ifconfig`

sudo ifconfig eth0 down
sudo ifconfig eth0 10.0.0.1 netmask 255.0.0.0
sudo ifconfig eth0 up
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -j MASQUERADE
sudo iptables -F FORWARD 
sudo iptables -A FORWARD -j ACCEPT 
sudo iptables -nvL
sudo sysctl -w net.ipv4.ip_forward=1

Autostart skryptu

Dodanie skryptu do automatycznego uruchomienia przy starcie systemu wykonasz edytując plik:

sudo nano /etc/rc.local

Wpis, który musisz tam umieścić znajduje się przed komendą exit 0:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

sudo bash /home/{TWÓJ-UŻYTKOWNIK}/wifi-to-eth-route.sh &

exit 0

Oczywiście zamiast „{TWÓJ-UŻYTKOWNIK}” podaj nazwę Twojego usera w Raspberry PI.

Konfiguracja klienta

Konfiguracja urządzenia, które otrzyma polączenie z Internetem od Raspberry polega na konfiguracji statycznego IP. Domyślnie – adres IP jest przydzielany automatycznie (DHCP) w tym przypadku musisz podać adres stały. Niezależnie czy będzie to system Windows, Linux czy inny.

Na podstawie skryptu do dzielenia łącza powyżej – będzie to IP z zakresu 10.0.0.1.

Czyli podaj:

  1. Adres IP > niż 10.0.0.1. Np. 10.0.0.2 albo 10.0.0.3 itp.
  2. Maska podsieci (netmask) musi wynosić: 255.0.0.0
  3. Bramka domyślna (gateway) jest taka sama jak IP Raspberry, czyli: 10.0.0.1
  4. Adres DNS. tutaj posiłkuj się DNS od Google’a. Podaj: 8.8.8.8

grafika:wallpaperflare.com

Możesz również polubić…

Inna porada:
Rapsbian i nieudana próba połączenia z WiFi - Pre Shared…