Перенаправление трафика с одного на другой интерфейс
Есть сервер с двумя сетевыми картами. ens3, ens4 (с разными шлюзами). С помощью iptables как перенаправить весь трафик c порта 443 ? А как сделать так чтобы при обращении к ens3, трафик переходил на ens4 и оттуда к 92.92.92.92 и потом в обратном порядке ?
С одной сетевой картой делал так:
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 92.92.92.92:443 iptables -t nat -A POSTROUTING -j MASQUERADE
merdan
30.01.23 15:41:35 MSK
Как правильно перенаправить трафик с одного сервера на другой?
Надо сделать так, чтобы при обращении клиентов на определенный ip адрес, сервер с впн перенаправлял это обращение на другой сервер и возвращал результат обратно. Маскарадинг не нужен.
Для чего? Для того, чтобы незаметно для «клиентов» сделать перенаправление DNS на свой DNS adguard home, чтобы была возможность блокировать рекламу и тд.
Почему не прописать это в конфигах «клиентов»? Потому что много устройств, и не хочется возиться с отправкой новых файлов конечным потребителям.
Перенаправить нужно и ipv4, и ipv6.
- Вопрос задан 07 июн.
- 262 просмотра
2 комментария
Средний 2 комментария
Как перенаправить трафик с помощью iptables?
Здравствуйте уважаемые знатоки.
Есть 5 прокси с авторизацией(http,socks) серверов разбросанные территориально по планете (все данные для примера):
1.1.1.1:9999
2.2.2.2:8888
3.3.3.3:7777
4.4.4.4:6666
5.5.5.5:5555
Есть желание установить 6 сервер с целью иметь один входящий ip адрес и перенаправление на эти 5 серверов по портам.
Предположим 6 сервер(главный): 6.6.6.6
И так 6.6.6.6:1000 — перенаправляет все на прокси 1.1.1.1:9999
6.6.6.6:1001 — перенаправляет все на прокси 2.2.2.2:8888
6.6.6.6:1002 — перенаправляет все на прокси 3.3.3.3:7777
6.6.6.6:1003 — перенаправляет все на прокси 4.4.4.4:6666
6.6.6.6:1004 — перенаправляет все на прокси 5.5.5.5:5555
Как такое организовать с помощью iptables?
Я выяснил что это iptables PREROUTING POSTROUTING FORWARD
Но как правильно составить сами правила, методом перебора не вышло.
- Вопрос задан более двух лет назад
- 351 просмотр
Комментировать
Решения вопроса 0
Ответы на вопрос 2
iptables -t nat -A PREROUTING -p tcp --dport 1000 -j DNAT --to-destination 1.1.1.1:9999
Ответ написан более двух лет назад
Михаил @Legion Автор вопроса
Судя по всему этого недостаточно, потому что такой вариант был. И перенаправить работу прокси с помощью его неполучается
кто знает, в каком у вас там состоянии iptables.
ну попробуйте сначала:
# на всякий случай # modprobe nf_conntrack echo 1 > /proc/sys/net/ipv4/ip_forward iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -p tcp -d 1.1.1.1 --dport 9999 -j ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 1000 -j DNAT --to-destination 1.1.1.1:9999
Михаил @Legion Автор вопроса
galaxy, в девственном.
Этого достаточно что бы указать в программе по работе с прокси 6.6.6.6:1000
И все будет работать и перенаправляться на 1.1.1.1:9999 ?
POSTROUTING не требуется?
Михаил, POSTROUTING не нужен.
А достаточно или нет, это вам разбираться. Правил iptables, по идее, достаточно, а так много какие настройки в linux влияют на прохождение пакетов (та же routing table, ipv6 может укусить и пр.). Tcpdump в помощь, если не работает.
Михаил @Legion Автор вопроса
на старте вот так
iptables -L -v -n
Chain INPUT (policy ACCEPT 189 packets, 16778 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 151 packets, 19474 bytes)
pkts bytes target prot opt in out source destination
я ввожу
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -d 1.1.1.1 —dport 9999 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp —dport 1000 -j DNAT —to-destination 1.1.1.1:9999
Соответственно имеет следующее
iptables-save
# Generated by iptables-save v1.8.4 on Thu Jul 22 19:45:27 2021
*mangle
:PREROUTING ACCEPT [770:532364]
:INPUT ACCEPT [369:29781]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [328:39807]
:POSTROUTING ACCEPT [328:39807]
COMMIT
# Completed on Thu Jul 22 19:45:27 2021
# Generated by iptables-save v1.8.4 on Thu Jul 22 19:45:27 2021
*filter
:INPUT ACCEPT [40:2872]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [33:3104]
-A FORWARD -m conntrack —ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 1.1.1.1/32 -p tcp -m tcp —dport 9999 -j ACCEPT
COMMIT
# Completed on Thu Jul 22 19:45:27 2021
# Generated by iptables-save v1.8.4 on Thu Jul 22 19:45:27 2021
*nat
:PREROUTING ACCEPT [402:502623]
:INPUT ACCEPT [1:40]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp —dport 1000 -j DNAT —to-destination 1.1.1.1:9999
COMMIT
пытаюсь подключится к адресу 6.6.6.6:1000 не выходит.
На сервере я имею такое
# iptables -L -v -n
Chain INPUT (policy ACCEPT 452 packets, 35079 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
63 3276 ACCEPT tcp — * * 0.0.0.0/0 1.1.1.1 tcp dpt:9999
Chain OUTPUT (policy ACCEPT 466 packets, 84562 bytes)
pkts bytes target prot opt in out source destination
Руководство по установке и администрированию Symantec Endpoint Protection (14.3 RU1 MP1) — Russian - Russian Federation
Политика перенаправления сетевого трафика (NTR) защищает клиентские компьютеры от небезопасных URL-адресов путем перенаправления сетевого трафика в Symantec Web Security Service (WSS), где применяются политики WSS, которые разрешают или блокируют трафик клиента
Symantec Endpoint Protection
(SEP). Интеграция с Symantec WSS гарантирует, что сотрудники не смогут получать доступ к вредоносным веб-сайтам или придерживаться ранее определенных политик использования Интернета.
Особенности политики перенаправления сетевого трафика
Администратор WSS создает на портале Symantec WSS файл PAC или токен интеграции. Файл PAC или токен интеграции добавляется в политику перенаправления сетевого трафика
Symantec Endpoint Protection Manager
, которая затем передает интеграцию на клиенты SEP. Клиентский компьютер связывается с ctc.symantec.com для преобразования токена интеграции в идентификатор customerID, который содержит идентификатор пользователя, выполнившего вход в систему, и информацию об устройстве. Если используется идентификатор клиента customerID, пользователям не нужно выполнять вход в систему каждый раз при доступе к Интернету. Когда пользователи клиентов выполняют вход на свои компьютеры, клиент SEP инициирует защищенное соединение с WSS (с помощью ключа сеанса и общего ключа [PSK]). Затем клиент SEP предоставляет
утверждение
службе WSS. Утверждение содержит удостоверение пользователя и другие сведения о компьютере, например версию ОС. Подобная
эффективная идентификация
означает, что пользователям не потребуется повторно входить в систему для доступа в Интернет через портал Captive Portal или Roaming Captive Portal. Этот процесс позволяет применять к трафику политику для отдельных пользователей и предоставляет WSS контекст для клиентов с повышенным риском для ведения журнала и создания отчетов.