Назад | Перейти на главную страницу

Туннелирование через псевдоним IP

У меня есть серверная машина с выделенным IP и несколькими псевдонимами IP. Он имеет единый сетевой интерфейс и к нему "прикреплено" несколько IP-адресов.

Итак, допустим, IP1 - это основной IP, но у меня также есть IP2 и IP3.

Я могу использовать ssh на любом из трех IP-адресов и получить доступ к той же машине.

Теперь, если я создам туннель SSH и настраиваю свой браузер для использования этого туннеля в качестве прокси-сервера socks, все исходящие запросы, похоже, проходят только через IP1. Итак, если я создаю туннель через IP2 и устанавливаю его в качестве прокси в firefox, а затем скажу google для «какой у меня ip», я вижу, что отображается IP1.

Есть ли способ настроить исходящие соединения, чтобы они отображались как псевдонимы IP, через которые я проксирую?

Единственный способ добиться этого - использовать NAT. Что-то вроде этого:

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4

где 1.2.3.4 - это один из ваших псевдонимов IP. Это перевернет весь исходящий трафик, чтобы использовать этот IP-адрес для всего (так что будьте осторожны).

Вы можете рассмотреть этот вариант:

iptables -t nat -A POSTROUTING -o eth0 -m owner --uid-owner user -j SNAT --to 1.2.3.4

Я сам не запускаю его, хотя только что протестировал его, и iptables его принимает. Это позволит вам иметь сопоставление псевдонимов для каждого пользователя / IP (я думаю), поэтому в зависимости от UID процесса, запускающего прокси-сервер socks (я предполагаю, что здесь прокси-сервер SSH socks, таким образом, пользователь, который входит в систему через SSH) , этот IP-адрес будет использоваться для любого исходящего трафика.

Вы можете использовать IP-маршрут команда для этого. Вы даже можете установить определенные IP-адреса источника для определенных хостов. Используя следующие адреса

  • пункт назначения: 10.0.0.0/16
  • IP по умолчанию: 192.168.0.100
  • псевдоним ip: 192.168.0.101
  • IP шлюза: 192.168.0.1

Смена ip для исходящего трафика на 10.0.0.0/16

ip route add to 10.0.0.0/16 via 192.168.0.1 dev eth0 src 192.168.0.101

Если вы хотите, чтобы весь исходящий трафик имел псевдоним ip, вы будете использовать

ip route change default via 192.168.0.1 dev eth0 src 192.168.0.101 metric 101