У меня есть SSH-туннель, настроенный для моего выделенного сервера через Putty, который я использую в качестве прокси-сервера socks. Проблема в том, что мне нужно использовать исходящий IP-адрес, отличный от основного IP-адреса выделенного сервера. У меня есть блок 30 ips для этого сервера, но даже если я настрою веб-прокси (php), он будет использовать основной IP-адрес сервера.
Кто-нибудь знает решение?
Спасибо!
Во-первых, вы установили псевдоним для своей сетевой карты?
Что произойдет, если вы используете ssh с псевдонимом IP?
Для базового веб-прокси вы должны иметь возможность указать, к какому IP-адресу нужно привязаться. В Apache вы просто устанавливаете опцию Listen. Вы пробовали?
В качестве альтернативы, как упоминалось в kubanskamac, используйте iptables.
Обычно ОС предполагает, что исходный IP-адрес для подключения (то, что вы назвали «исходящим IP») равен основному адресу исходящего интерфейса (см. ifconfig -a
). Исходящий интерфейс определяется поиском соответствующей записи в таблице маршрутизации (см. netstat -rn
или route
).
Вы можете поиграть с добавлением / изменением записей в таблице маршрутизации, есть вероятность, что это заставит ОС выбрать другой исходящий интерфейс, и, в свою очередь, есть вероятность, что это заставит вашу ОС выбрать другой исходный IP-адрес.
Кроме того, если ваш сервер работает под управлением Linux, вы можете обойти проблему, используя SNAT (см. iptables
).