Сегодня про айпишники.

Допустим покупаешь ты себе облачный vps. Этому серверу автоматически назначается IP адрес, по которому ты можешь подключиться по ssh.

Например у AEZA есть услуга: Добавить IP адрес. То есть к серверу можно привязать 2 айпишника.

Я люблю такие штуки, но абсолютный профан в сетях. Купил услугу, второй айпишник автоматически прикрутился. Теперь я могу заходить на сервер по ssh либо через первый IP либо через второй.

Смотрим сетевые настройки: /etc/networks

auto ens3
iface ens3 inet static
    address   62.60.238.33
    netmask   255.255.255.255
    gateway   10.0.0.1
    dns-nameservers 1.1.1.1 8.8.8.8

auto ens3:0
iface ens3:0 inet static
    address   62.60.238.133
    netmask   255.255.255.255
    dns-nameservers 1.1.1.1 8.8.8.8

Всё логично и красиво. Айпишники прописаны статично, никакого dhcp и плавающих адресов с выходом на роутере.

Если я сделаю так:

curl ifconfig.me

То в выхлопе получу первый IP адрес (62.60.238.33).

Но как мне выходить в интернет с конкретного IP адреса?

Можно курлыкнуть так:

curl --interface 62.60.238.133 ifconfig.me
curl --interface ens3:0 ifconfig.me

Пошли дальше. Давай настроим маршрутизацию, чтобы 50% трафика выходило через первый айпишник, а 50% через второй.

Открываем /etc/networks и комментим блок со вторым IP адресом:

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet static
    address   62.60.238.33
    netmask   255.255.255.255
    gateway   10.0.0.1
    dns-nameservers 1.1.1.1 8.8.8.8

# auto ens3:0
# iface ens3:0 inet static
#    address   62.60.238.133
#    netmask   255.255.255.255
#    dns-nameservers 1.1.1.1 8.8.8.8

Далее хуячим в терминале:

ip addr add 62.60.238.133/32 dev ens3

iptables -t nat -A POSTROUTING -o ens3 -m statistic --mode random --probability 0.5 -j SNAT --to-source 62.60.238.33
iptables -t nat -A POSTROUTING -o ens3 -m statistic --mode random --probability 0.5 -j SNAT --to-source 62.60.238.133

ip route flush cache

Проверяем:

for i in {1..5}; do curl https://ifconfig.me; echo ""; sleep 5; done

62.60.238.33
62.60.238.133
62.60.238.133
62.60.238.33
62.60.238.33

ЗАЕБИСЬ! Теперь наш сервер выходит в интернеты с разных IP адресов.

Роман Шубин
Роман Шубин
CEO & CTO, Главред в «Цифровой улей»
Задать вопрос
Что с этим делать дальше? Хуй знает, я показал тебе концепт работы с двумя айпишниками, а ты уже дальше прикидывай где и как это можешь использовать.

В идеале запустить какойнить wireguard и ходить по сайтикам светя то одним адресом, то другим. Короче не знаю, накидывай в комменты, где это можно применить.

Всем спасибо и увидимся!