LINUX.ORG.RU
решено ФорумAdmin

route ip to ip


0

3

Приветствую.
Есть два сервера. У первого есть ип, который хочу «зароутить» на второй сервер. Как это сделать?

# iptables -t nat -A PREROUTING -s 91.121.xx.xx -j DNAT --to-destination 188.xx.xx.xx
# iptables -t nat -A POSTROUTING -j MASQUERADE

Но в iptables -L -v -n пусто. Можно ли это сделать через route add? Или как это сделать через iptables?


Ответ на: комментарий от true_admin

Получилось. И получилось посмотреть
iptables -t nat -nvL

так же получилось PREROUTING

iptables -t nat -A PREROUTING -p tcp --dst 91.121.36.147 -j DNAT --to-destination 91.121.36.11
iptables -t nat -A POSTROUTING -j MASQUERADE

Но как сделать, чтобы «реальный ип» передавался?

poiuty ()
Ответ на: комментарий от poiuty

Реальный IP с которого изначально пришёл пакет?

Просто так никак, надо его форвардить внутри туннеля. Иначе ты пытаешься отправить пакет у которого src ip не совпадает с твоим адресом, роутер подумает что ты адреса подделываешь.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

На ноде

iptables -t nat -A PREROUTING -p tcp --dst 91.121.36.147 -j DNAT --to-destination 91.121.36.11

# iptables --table nat -nvL
Chain PREROUTING (policy ACCEPT 388 packets, 24297 bytes)
 pkts bytes target     prot opt in     out     source               destination
  380 19760 DNAT       tcp  --  *      *       0.0.0.0/0            91.121.36.147       to:91.121.36.11

На той же ноде, только в OpenVZ контейнере (нат модули включены)

# vzlist
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       101         74 running   91.121.36.11    -


iptables -t nat -A POSTROUTING -p tcp -s 91.121.36.11 -j SNAT --to-source 91.121.36.147


# iptables --table nat -nvL
Chain PREROUTING (policy ACCEPT 451 packets, 24210 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   20  1200 SNAT       tcp  --  *      *       91.121.36.11         0.0.0.0/0            to:91.121.36.147

Далее захожу на 91.121.36.147 -> попадаю на 91.121.36.11 и вижу реальный ип.

poiuty ()
Ответ на: комментарий от poiuty

У меня всегда было туго с сетью, поэтому не могу подсказать. Я бы посмотреть через tcpdump и счётчики на правилах фаервола куда уходят пакеты. Плюс надо смотреть iptables-save чтобы видеть все правила. Может там что не так в таблице FILTER, например. Плюс навешивать правила постепенно. Сначала сделай DNAT и посмотри будет ли работать. Потом SNAT.. Наконец, может какого-нить net.ipv4.ip_forward не хватает...

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

Да не, все гуд - работает.
Реальный ип показывает ;)

poiuty ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.