iptables -t nat -I POSTROUTING 1 -p all -s 192.168.x.y -j SNAT --to-source 1.2.3.4
Может кто-нибудь помочь мне понять это. Я действительно новичок в Linux.
Это правило означает:
сделать несколько пакетов ... (какие? Те, которые имеют в качестве источника (-ов) IP-адрес 192.168.XY, принадлежащий каждому протоколу (-p все)
... выглядят так, как будто они произошли от адреса 1.2.3.4 (-j SNAT - к источнику 1.2.3.4) ...
... и это правило должно занимать первое место (-I POSTROUTING 1) в очереди POSTROUTING таблицы NAT (-t nat).
В основном, правило 3 говорит, где правило должно быть добавлено (и это правильно, правила SNAT попадают в очередь POSTROUTING таблицы NAT
), правило 2 указывает, к каким пакетам оно применяется (в основном, ко всем пакетам с компьютера с IP-адресом). адрес 192.168.XY, и для всех протоколов, TCP, UDP, ICMP, ... все они), и правило 1 указывает, какое действие должно быть предпринято, в этом случае перепишите заголовки пакетов, как если бы пакеты приходили не с IP-адреса 192,168.XY, но с IP-адреса 1.2.3.4.
В общем, это просто нормальное правило NAT, разрешающее машину (192.168.XY) для связи с Интернетом, даже если он имеет частный не маршрутизируемый IP-адрес, де-факто наделив его публичным маршрутизируемым IP-адресом, 1.2.3.4.