Как пробросить трафик с одного сервера на другой?
Доброго дня.
Столкнулся со следующей проблемой — необходимо пробросить трафик с 80 порта одного сервера (дале 1.1.1.1) на другой (далее 2.2.2.2). Оба сервера хостятся на амазоне, ОС — восьмой дебиан на первом и бубунта 14.04 на втором.
Делал так, через iptables:
# sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf # включил ip forwarding # sysctl -p // проверил, включилось # iptables -F // удалил текущие правила # iptables -t nat -F // и специально для nat // Далее сами правила # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 2.2.2.2:80 # iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j SNAT --to-source 1.1.1.1 # sudo iptables -t nat -L -n // проверка // вывод: Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to: 2.2.2.2:80 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT tcp — 0.0.0.0/0 2.2.2.2 tcp dpt:80 to: 1.1.1.1 // и напоследок сохранил и проверил: # iptables-save | sudo tee /etc/iptables.up.rules
Tcpdump на первой машине показывает, что пакет отправляется на второй хост, но на втором хосте он либо не обрабатывается, либо его режет амазоновский нат. Гугление и общение с админами не помогло, все запутались ещё больше. Максимум чего удалось добиться это отправка пакетов на второй хост при обращении на первый, но там они не обрабатываются, в tcpdump нет вывода никакого.
Если кто то захочет предложить Port mirroring или mangle в iptables — в принципе рассматривается.
Заранее спасибо.
Столкнулся со следующей проблемой — необходимо пробросить трафик с 80 порта одного сервера (дале 1.1.1.1) на другой (далее 2.2.2.2). Оба сервера хостятся на амазоне, ОС — восьмой дебиан на первом и бубунта 14.04 на втором.
Делал так, через iptables:
# sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf # включил ip forwarding # sysctl -p // проверил, включилось # iptables -F // удалил текущие правила # iptables -t nat -F // и специально для nat // Далее сами правила # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 2.2.2.2:80 # iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 80 -j SNAT --to-source 1.1.1.1 # sudo iptables -t nat -L -n // проверка // вывод: Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to: 2.2.2.2:80 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT tcp — 0.0.0.0/0 2.2.2.2 tcp dpt:80 to: 1.1.1.1 // и напоследок сохранил и проверил: # iptables-save | sudo tee /etc/iptables.up.rules
Tcpdump на первой машине показывает, что пакет отправляется на второй хост, но на втором хосте он либо не обрабатывается, либо его режет амазоновский нат. Гугление и общение с админами не помогло, все запутались ещё больше. Максимум чего удалось добиться это отправка пакетов на второй хост при обращении на первый, но там они не обрабатываются, в tcpdump нет вывода никакого.
Если кто то захочет предложить Port mirroring или mangle в iptables — в принципе рассматривается.
Заранее спасибо.
Похожие публикации
Какой правильный iptables позволит не зацикливаться при выходе через проброшенный порт?
Проброс ип на виртуальную машину?
Возможно ли организовать сетевую синхронизацию времени между сегментами сети связанными через однонаправленный шлюз?
В чем может быть ошибка в iptables?
Каким образом поднять новую инфраструктуру с нуля и объединить в одну сеть три корпуса учебного заведения?
Нет комментариев