Przejdź do głównej zawartości

Przygotowanie Raspberry Pi do użycia jako Gateway

Udostępnianie połączenia internetowego Wi-Fi Raspberry Pi przez Ethernet​

informacja

Na tym etapie Raspberry Pi musi być połączone z Internetem przez Wi-Fi, a PLC musi być połączony z Raspberry Pi za pośrednictwem połączenia Ethernet.

Teraz skonfigurujesz Raspberry Pi w taki sposób, aby udostępniało połączenie internetowe Wi-Fi przez Ethernet. Wykonaj poniższe polecenia na Raspberry Pi.

1. (Opcjonalnie) Zaktualizuj Raspberry Pi:

sudo apt-get update
sudo apt-get upgrade

2. Aby skonfigurować klienta DHCP, otwórz plik konfiguracyjny

sudo vi /etc/dhcpcd.conf

i wklej denyinterfaces eth0 na końcu pliku. Zamknij plik konfiguracyjny (Esc, :w (Enter), :q (Enter)).

3. Następnie otwórz interfejsy sieciowe

sudo vi /etc/network/interfaces

i wklej następujące wiersze na końcu pliku:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.66.1
netmask 255.255.255.0
network 192.168.66.0
broadcast 192.168.66.255

Zamknij plik interfejsów sieciowych (Esc, :w (Enter), :q (Enter)).

4. Zainstaluj i skonfiguruj usługę DHCP, aby automatycznie przydzielać adresy IP każdemu urządzeniu na porcie Ethernet. Zainstaluj dnsmasq i utwórz nową konfigurację:

sudo apt-get install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf

Dodaj do pliku następujące wiersze

interface=eth0
listen-address=192.168.66.1
dhcp-range=192.168.66.50,192.168.66.100,12h
server=8.8.8.8
bind-interfaces
domain-needed
bogus-priv

i zamknij konfigurację (Esc, :w (Enter), :q (Enter)).

5. Uruchom ponownie Raspberry Pi.

sudo reboot

Następnie należy ponownie otworzyć połączenie SSH.

6. Teraz przekierujemy połączenie internetowe z Wi-Fi na port Ethernet, do którego podłączony jest PLC, ustawiając przekazywanie IPv4. Otwórz plik /etc/systcl.conf file:

sudo vi /etc/sysctl.conf

Odkomentuj następujący wiersz, usuwając znak # (wiersz 28):

net.ipv4.ip_forward=1

Zapisz i zamknij plik (Esc, :w (Enter), :q (Enter)).

7. Aktywuj przekazywanie IP, wykonując następujące polecenie:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

8. Teraz zainstalujemy iptables i dodamy reguły zapory. Wykonaj kolejno następujące polecenia:

sudo apt install iptables
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

9. Sprawdź, czy zmiany zostały wprowadzone, i zapisz reguły:

sudo iptables -L -n -v
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Aby automatycznie przeładowywać te reguły po każdym ponownym uruchomieniu, edytuj plik /etc/rc.local:

sudo vi /etc/rc.local

Wklej następujący wiersz przed exit 0:

iptables-restore < /etc/iptables.ipv4.nat

Zapisz i zamknij plik (Esc, :w (Enter), :q (Enter)).

10. Aby sprawdzić ustawienia zapory, wykonaj

route

Tablica routingu powinna wyglądać następująco:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.2.1 0.0.0.0 UG 304 0 0 wlan1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.2.0 * 255.255.255.0 U 304

Teraz możesz sprawdzić w konsoli SDA, czy połączenie z Gateway zostało nawiązane i czy PLC jest podłączony.