Использовать iptables для переадресации нескольких портов

У меня есть службы, работающие на VPS A (1.1. 1.1) на портах 30000-32000.

Я хотел бы, чтобы VPS B (2.2.2.2) перенаправлял их на 20000-22000.

(Вы можете посмотреть ссылку на демонстрационный график ниже, чтобы понять, что Я бы хотел добиться: D)

Перенаправить на разные порты

Я использовал команду ниже для настройки iptables:

iptables -t nat -A PREROUTING -p tcp --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p tcp -d 1.1.1.1 --dport 30000:32000 -j SNAT --to-source 2.2.2.2
20000:22000
iptables -t nat -A PREROUTING -p udp --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p udp -d 1.1.1.1 --dport 30000:32000 -j SNAT --to-source 2.2.2.2
20000:22000

После некоторых тестов я обнаружил, что кажется, что только порт 20000 перенаправлял исходный порт сервера 30000. Однако другие порты не работают.

Я проверил 4 вещи ниже: 1. Служба VPS A (1.1.1.1) Служба, запущенная на портах 30000 - 32000, полностью функциональна

  1. Настройка переадресации порта VPS B После проверки sysctl на VPS B пересылка ipv4 включена.

(то есть net.ipv4.ip_forward = 1 )

  1. Настройка iptable VPS B. Мне кажется, это нормально. Вы можете нажать на ссылку ниже для точной настройки.

iptables setting

  1. Я также пробовал выполнить обычную переадресацию нескольких портов с VPS A на VPS B (например, VPS A (30000-32000) >> VPS B (30000-32000))

(Вы можете посмотреть ссылку на демонстрационный график ниже, чтобы узнать, чего я хотел бы достичь: D)

Все работает хорошо.

Я действительно понятия не имею, как этого добиться. Любая помощь приветствуется! Заранее благодарим!

1
задан 1 October 2017 в 19:36
1 ответ

Вам необходимо изменить правила iptables. Ваше правило DNAT не фильтрует IP-адрес назначения для входящего трафика от пользователей. Правило SNAT не фильтрует IP-адрес источника и диапазон портов источника 30000: 32000 для входящего трафика с сервера A. На сервере B вам потребуется:

iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p tcp -s 1.1.1.1 --sport 30000:32000 -j SNAT --to-source 2.2.2.2:20000:22000

iptables -t nat -A PREROUTING -p udp -d 2.2.2.2 --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p udp -s 1.1.1.1 --sport 30000:32000 -j SNAT --to-source 2.2.2.2:20000:22000
3
ответ дан 3 December 2019 в 18:29

Теги

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