URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 39092
[ Назад ]
Исходное сообщение
"Трансляция адресов из одной сетки в другую"
Отправлено Greenwood , 07-Янв-04 09:22
Есть 2 локальные сети 192.168.1.0 (сеть 1) 192.168.100.0 (сеть 2) , между ними установлен шлюз (устройство 3) на RH7.3: eth0=192.168.1.2 eth1=192.168.100.2
Заметил такую вещь: при обращении компьютера (устройство 4) из сети 192.168.1.0 к компьютеру (5) из сети 192.168.100.0 icmp-запрос(ping) доходит успешно до любого компьютера из сети 2. В пределах правил iptables, естественно.
Если же компьютер (5) из сети 2 не имеет в свойстах сети адреса шлюза (3), то icmp-ответ, не найдя маршрута не возвращается компьютеру(4) сети 1.
Здесь все понятно.
Но, если для обращений к компьютеру (5) прописать правило NAT:
iptables -A POSTROUTING -i eth1 -p tcp -s 192.168.1.1 -d 192.168.100.1 -j SNAT 192.168.100.2,
то icmp-ответ успешно возвращается компьютеру 4.
Где 192.168.100.2=eth1 шлюза.
Icmp-запрос после преобразования NAT меняет адрес на адрес 192.168.100.2
Icmp-ответ возвращается шлюзу и дальше каким-то непостижимым мне способом доставляется на адрес 192.168.1.1 компьютеру 4.
Как пакет (шлюз) понимает, что icmp-ответ предназначен для компьютера 4 а не для шлюза (3)?
Такой вопрос.
Содержание
- Трансляция адресов из одной сетки в другую,peresvet, 11:05 , 07-Янв-04
- Трансляция адресов из одной сетки в другую,Greenwood, 17:20 , 07-Янв-04
Сообщения в этом обсуждении
"Трансляция адресов из одной сетки в другую"
Отправлено peresvet , 07-Янв-04 11:05
так твоя машина держит таблицу трансляции и по ней смотрит что делать с пакетами, подпадающими под определенные критерии...
все очень просто ;)
"Трансляция адресов из одной сетки в другую"
Отправлено Greenwood , 07-Янв-04 17:20
>так твоя машина держит таблицу трансляции и по ней смотрит что делать
>с пакетами, подпадающими под определенные критерии...
>все очень просто ;)
NAT подменяет адрес источника запроса своим и отправляет дальше пакет, а по приходу ответа назад в соответствие с таблицой nat перенаправляет реальному источнику запроса.
Я правильно понял?