HTTP проксі-сервер на декілька маршрутів

Вітаю! Нарешті виділив час, щоб продовжити писати, сьогодні ми розглянемо налаштування HTTP проксі-сервера з вибором маршрути та прив’язкою до порту.

В попередній статті ми розглянули базове налаштування проксі-сервера, також в цій статті ми використаємо маршрутизацію пакетів на основі політики маршрутизації.


Технічне завдання:

Короткий опис:
Налаштувати проксі сервер з декількома IP, щоб залежно від вказаного порту користувач виходив в інтернет через певний IP.

В наявності :
сервер з інстальованою Ubuntu 22.04;
до сервера під’єднано 3 IP адреси, 1 без тегу та 2 додаткові з тегом;

Коментар:
Оскільки це проксі сервер я хотів би мати доступ до нього через ip яка без тегу, а ось виходити в інтернет через ip який з тегом.


Почнемо реалізацію

Для початку ми під’єднаємо IP що з тегом до сервера використовуємо, налаштуємо netplan:

   vlans:
    vlan.401: # створюємо інтерфейс 
      id: 401 # тег
      link: eth0 # основний наш інтерфейс
      dhcp4: false # налаштування ми не будемо 
      addresses: [10.4.1.2/30] # наш IP
      routes: 
      - to: default # маршрут за замовчання
        via: 10.4.1.1 # IP основного шлюзу
        table: 401 # таблиця маршрутизації
      routing-policy: # політика маршрутизації
      - from: 10.4.1.0/30 # всі пакети цієї мережі будемо відправляти 
        table: 401 # в нашу таблицю маршрутизації

    vlan.402:
      id: 402
      link: eth0
      dhcp4: false
      addresses: [10.4.2.2/30]
      routes: 
      - to: default
        via: 10.4.2.1
        table: 402
      routing-policy:
      - from: 10.4.2.0/30
        table: 402

Дозволяємо ipv4 forward:

sed -i 's/.*net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sysctl -p

Тепер налаштуємо squid, відкриваємо основний файл конфігурації та приводимо його до наступного вигляду

# видаляємо заголовки X-Forwarded-For
forwarded_for delete
# відключаємо додавання заголовку via
via off
# порти на які ми будемо звертатися
http_port 10401
http_port 10402

# забороняємо передавати заголовок Cache-Control
request_header_access Cache-Control deny all
# налаштування списки доступу
acl port_10401 localport 10401
acl port_10402 localport 10402

access_log /var/log/squid/access.log

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic realm proxy
acl auth_users proxy_auth REQUIRED
# вказуємо маршрут на основі списків доступу
tcp_outgoing_address 10.4.1.2 port_10401
tcp_outgoing_address 10.4.2.2 port_10402

http_access allow auth_users
http_access deny

Створюємо користувачів:

# виконавши команду ми повинні вказати паролль для користувача 
# (-c якщо файла не існує)
htpasswd -c /etc/squid/passwd proxyuser
# пароль користувача
New password:
# повторіть пароль користувача
Re-type new password:

Можемо ще трохи додати параметрів, щоб TCP/IP Fingerprint був Windows

cat >> /etc/sysctl.conf <<EOF
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_window_scaling=0
EOF
sysctl -p

Основні налаштування закінчили, підсумуємо що виконали:

  • Під'єднали додаткові IP;

  • Налаштували проксі сервер для роботи з додатковими IP залежно від порту.

Дякую за увагу!
Залишайте свої питання в коментарях буду радий відповісти.

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Олег Ковалєвський
Олег Ковалєвський@oleh.k

311Прочитань
1Автори
4Читачі
Підтримати
На Друкарні з 26 квітня

Більше від автора

  • SQUID, HTTP проксі-сервер

    Squid - це проксі-сервер і система кешування, яка дозволяє контролювати та моніторити вхідний і вихідний інтернет-трафік в мережі. Основна функція Squid - це обслуговування запитів від клієнтів (зазвичай веб-браузерів) та пересилання їх до віддалених серверів.

    Теми цього довгочиту:

    Linux

Вам також сподобається

  • Ubuntu - 20 років!

    20 жовтня 2004 року вийшов у світ перший реліз дистрибутиву, який згодом став провідним популяризатором Лінукс.

    Теми цього довгочиту:

    Linux
  • Реліз Linux Mint 21.2

    Після періоду тестування бета-версії став доступний до завантаження і встановлення фінальний реліз дистрибутива Linux Mint 21.2 "Victoria".

    Теми цього довгочиту:

    Linux
  • Linux kernel очищується від росіян

    Останній тиждень спільноту Linux штормить від новини про несподіване усунення від доступу до розробки ядра одразу одинадцяти розробників. Ця скандальна подія розпалила спільноту не на жарт.

    Теми цього довгочиту:

    Linux

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Ubuntu - 20 років!

    20 жовтня 2004 року вийшов у світ перший реліз дистрибутиву, який згодом став провідним популяризатором Лінукс.

    Теми цього довгочиту:

    Linux
  • Реліз Linux Mint 21.2

    Після періоду тестування бета-версії став доступний до завантаження і встановлення фінальний реліз дистрибутива Linux Mint 21.2 "Victoria".

    Теми цього довгочиту:

    Linux
  • Linux kernel очищується від росіян

    Останній тиждень спільноту Linux штормить від новини про несподіване усунення від доступу до розробки ядра одразу одинадцяти розробників. Ця скандальна подія розпалила спільноту не на жарт.

    Теми цього довгочиту:

    Linux