@Multigame

Как настроить перенаправление iptables?

Добрый вечер.
Есть сервер A и сервер B. Нужно настроить перенаправленние tcp и udp с A:22513 на B:22513 (ну и возврат ответных пакетов)

Делаю так
iptables -t nat -A PREROUTING --dst A -p tcp --dport 22513 -j DNAT --to-destination B:22513 
iptables -t nat -A PREROUTING --dst A -p udp --dport 22513 -j DNAT --to-destination B:22513 

iptables -I FORWARD 1 -i eth0 -o eth1 -d A -p tcp -m tcp --dport B -j ACCEPT

iptables -t nat -A POSTROUTING --dst B -p tcp --dport 22513 -j SNAT --to-source A
iptables -t nat -A POSTROUTING --dst B -p udp --dport 22513 -j SNAT --to-source A


Все сохраняется, но при тестировании(через tracetcp) трассировка доходит до узла А (сам узел в трасе не отображается и уходит в бесконечные строки Request timed out)

[~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp dpt:22513 state NEW
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:22513 state NEW

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             B      udp dpt:22513
ACCEPT     tcp  --  anywhere             B      tcp dpt:22513

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


Что я делаю не так?
  • Вопрос задан
  • 300 просмотров
Решения вопроса 1
@krosh
Цепочку INPUT не проходят транзитные пакеты.
В цепочке FORWARD у Вас пока политика разрешает все, поэтому в правилах там нет смысла. После смены политики по умолчанию не забудьте дополнить обратными правилами, с портом источника 22513.

Пинги до В идут?
Порт открыт, подключение с А возможно?
Маршрут до В прописан?
На В есть блокировка входящих? Надо разрешить доступ А на порт 22513.

Покажите
cat /proc/sys/net/ipv4/ip_forward
iptables -t nat -S
iptables -S FORWARD
ip route sh
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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