Skip to main content

Przekierowanie ruchu sieciowego pomiędzy kartami sieciowymi

Włączenie przekazywania pakietów (IP Forwarding)

Na początku należy sprawdzić konfigurację sysctl

sudo vim /etc/sysctl.conf

i szukamy wpisu:

net.ipv4.ip_forward = 1

Przeładowujemy konfigurację

sudo sysctl -p

image.png

i sprawdzamy czy opcja jest aktywna:

cat /proc/sys/net/ipv4/ip_forward

image.png

Jeśli wynik to 1, przekazywanie pakietów jest włączone.

Konfiguracja NAT (SNAT) poprzez IPTABLES
sudo iptables -t nat -I POSTROUTING -p all -s AdresacjaIPskąd ! -d AdresacjaIPdokąd -j SNAT --to-source JakimIPmaWychodzić

Przykład z całymi podsieciami:

sudo iptables -t nat -I POSTROUTING -p all -s 172.18.0.0/29 ! -d 172.18.0.0/29 -j SNAT --to-source 10.95.227.9
Co robi ta reguła?
  • iptables → komenda którą nanosimy zmiany
  • -t nat → Modyfikuje tablicę NAT.
  • -I POSTROUTING → Wstawia regułę do łańcucha POSTROUTING, czyli po podjęciu decyzji o routingu.
  • -p all → Dotyczy wszystkich protokołów (TCP, UDP, ICMP itp.).
  • -s 172.18.0.0/29 → Ogranicza regułę do ruchu wychodzącego z tej podsieci.
  • ! -d 172.18.0.0/29 → Nie dotyczy ruchu wewnątrz tej samej podsieci (eliminuje NAT dla ruchu lokalnego).
  • -j SNAT --to-source 10.95.227.9 → Zamienia źródłowy adres IP na 10.95.227.9, aby umożliwić komunikację z innymi sieciami.

Sprawdzamy czy reguła została dodana:

sudo iptables -t nat -L -v -n

image.png

Zapisujemy konfigurację:

sudo service iptables save
sudo iptables-save | sudo tee /etc/sysconfig/iptables