У меня два IP (общедоступных) eth0: 1.1.1.1
и eth0: 1: 2.2.2.2
Я использую переадресацию портов.
ssh -D 1080 root@2.2.2.2
Но когда я иду проверить ip-сайт (ip2location), мой ip: 1.1.1.1
Я хочу использовать: ssh -D 1081 root@1.1.1.1
-> отображается на внешнем сайте как мой ip 1.1.1.1
И ssh -D 1080 root@2.2.2.2
-> просматривать на внешнем сайте как мой ip 2.2.2.2
Пожалуйста, скажите мне.
Это сложнее, чем следует из вашего вопроса.
Используя прокси-сервер SSH SOCKS, процесс sshd сервера будет устанавливать соединения от имени вашего клиента. При выборе IP-адреса источника не учитывается порт или IP-адрес, к которому вы подключены, и нет аргументов для ssh
вы можете указать его явно.
Выбирается исходный IP-адрес подключения по (по порядку):
src
намек в таблице маршрутов (по умолчанию не задано)Грубый способ решить эту проблему - при подключении использовать скрипт-fu, чтобы определить порт или IP-адрес, используемый для вашего ssh-соединения, и запустить соответствующий ip route add default via <next-hop> src 1.1.1.1
команда для установки намек, но это будет работать, только если у вас одновременно открыто только одно прокси-соединение; команда изменит исходный IP-адрес по умолчанию для всех подключений с сервера.
Более чистый способ - использовать iproute2 маршрутизация на основе политик. Настройте две отдельные таблицы маршрутов, каждая с соответствующими src
подсказку, а затем, возможно, создать политику, которая выбирает одну таблицу на основе пользовательского контекста, тем самым выполняя маршрутизацию с соответствующим IP-адресом источника.