IP Masquerade также известен как трансляция сетевых адресов (NAT) и совместное использование сетевых подключений некоторых других популярных операционных систем. Это в основном метод, позволяющий компьютеру, который не имеет общедоступного IP-адреса в Интернете, обмениваться данными с другими компьютерами в Интернете с помощью другого компьютера, расположенного между ним и Интернетом.
Как вы знаете, IP-адреса используются в Интернете для идентификации машин. Учитывая пакет с IP-адресом, каждый маршрутизатор, который составляет Интернет, знает, куда отправить этот пакет, чтобы получить его к месту назначения. Теперь есть также несколько диапазонов IP-адресов, которые были зарезервированы для частного использования внутри локальных сетей и других сетей, которые напрямую не подключены к Интернету. Эти частные адреса гарантированно не будут использоваться в общедоступном Интернете.
Это вызывает проблемы для машин, которые подключены к частным сетям, используют частные IP-адреса, потому что они не могут быть подключены напрямую к Интернету. У них нет IP-адреса, который разрешено использовать в общедоступном Интернете. IP Masquerade решает эту проблему, позволяя машине с частным IP-адресом обмениваться данными с Интернетом, одновременно изменяя пакеты машины, чтобы использовать действительный общедоступный IP-адрес вместо исходного частного IP-адреса. Пакеты, возвращающиеся из Интернета, перед использованием частного IP-адреса модифицируются так, чтобы они использовали исходный IP-адрес.
Обратите внимание, что это не ограничивается маскарадом сети Интернет / NAT может использоваться для маршрутизации трафика из одной сети в другую, скажем, 10.0.0.0/24 и 192.168.0.0/24.
Правило маскарада Iptables можно заменить на правило SNAT
iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24 -j MASQUERADE
знак равно
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth2 -j SNAT --to-source 192.168.1.2
# supposing eth2 assigned ip is 192.168.1.2
И маскарад, и snat требуют, чтобы ip_forward был включен на уровне ядра с помощью echo "1" > /proc/sys/net/ipv4/ip_forward
или навсегда, отредактировав файл настроек nano /etc/sysctl.conf
.
IP Forward заставляет машину действовать как маршрутизатор и, таким образом, перенаправлять / пересылать пакеты со всего активного интерфейса логически по целевой сети (локальная / net / other / etc) или следуя таблице маршрутов. Обратите внимание, что включение ip_forward может представлять значительную угрозу безопасности, если ip_forward нельзя избежать, его необходимо контролировать / защищать с помощью дополнительных правил iptables / route.