Друкарня від WE.UA

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 залежно від порту.

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

Статті про вітчизняний бізнес та цікавих людей:

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

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

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

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

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

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

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

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

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

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

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

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

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

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

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

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

    Linux

Це також може зацікавити:

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

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

Це також може зацікавити: