Задать вопрос
@Nortvest

Как настроить правила маршрутизации трафика для двух IP адресов на Ubuntu server?

Доброго времени суток! У меня есть арендованный Ubuntu server 22.04 с настроенным на нем прокси (X-Ray), который я использую для обхода блокировок. У сервера открыты два порта 443 и 80 для работы прокси и других сервисов.

Моя цель:
1) Скрыть факт того, что у меня открыты порты, потому что любой может их просканировать и определить, что я пользуюсь прокси.
2) Добится того, чтобы подключения от сервера в интернет выполнялись через IP адрес, отличный от того, по которому я подключаюсь к серверу. Опять же с целью, сокрытия факта использования прокси.

Для реализации этого я взял для сервера второй IP адрес.
Теперь я хочу понять, как настроить следующее:
Первый IP адрес должен использоваться исключительно для входящих запросов на сервер и ответа на них и открытые порты должно быть видно только с него. А второй IP адрес должен использоваться только для выхода сервера в интернет (выполнения запросов, сделанных к прокси серверу). Полагаю, что нужно второй IP адрес настройить с помощью netplan, а правила с помощью iptables. Но как именно это сделать для меня загадка, я в Ubuntu новичек и эта задача кажется мне совсем не тривиальной... Прошу вашей помощи!
  • Вопрос задан
  • 164 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Делаете
iptables -A INPUT -i eth1 -j REJECT
где eth1 - интерфейс со вторым IP. И всё, все порты на втором IP будут закрыты.

Если сильно-сильно нужно изолироваться по портам 80,443 и 3128 (ага, его тоже), то
iptables -A INPUT -i eth0 -s 1.2.3.4 -m multiports --dports 80,443,3128 -j ACCEPT
iptables -A INPUT -i eth0 -j DROP

где eth0 - интерфейс с первым IP, а IP 1.2.3.4 - адрес, с которого будете входить.

Ну и не забудьте установить HTTP прокси с портом 3128.

P.S. Ах, да,
ip route replace default via IP2-gw
где IP2-gw - гейтвей на втором IP, что бы выходить в Интернет всегда со второго IP.
Ответ написан
ValdikSS
@ValdikSS
В inbound-секции, в директиве "listen" укажите один IP-адрес, а в outbound-секции, в директиве "sendThrough" — другой.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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