Какой принцип цепочки POSTROUTE ?

Для того что бы пробросить порты в интернетах пишут что достаточно внести 2 правила
iptables -t nat -I PREROUTING --dst 95.17.248.226 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.8.0.2:80

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 95.17.248.226
Как пример. То что prerouting пробрасывает пакеты понятно. но какой смысле цепочки POSTROUTING?
  • Вопрос задан
  • 2672 просмотра
Пригласить эксперта
Ответы на вопрос 2
merryjane
@merryjane
Системный администратор
Postrouting в основном используется для маскарадинга. То-есть когда у Вас есть шлюз и за ним "серая" сеть. В данному случае, чтобы машины из "серой" сети могли ходить в интернет необходим masquerade на шлюзе, котоый будет подменять "серый" source ip в пакете на белый адрес шлюза или жестко прописанный -j SNAT --to-source.

В случае Вашего правила всё, что будет уходить с eth0 шлюза будет иметь source ip в пакете 95.17.248.226. То-есть происходит подмена 10.8.0.2 на 95.17.248.226, если запрос уходит с 95.17.248.226. И пакет уходит с "белым" ip шлюза.
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
Чтобы пакеты уходили на сервер с адресом роутера (95.17.248.226), а не с 10.8.0.2. Логично же?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы