Как выбрать адрес пересылки целевого действия?

Встроенное время Bash возвращает статус завершения команды. Вы можете довольно легко проверить это с помощью time false ; после этого echo $? печатает 1, как и ожидалось. Вы также можете проверить что-то с другим кодом выхода, чтобы убедиться, что другие коды сохранены:

$ time bash -c 'exit 42'; echo "Exit code: $?"

real    0m0.002s
user    0m0.000s
sys     0m0.000s
Exit code: 42
0
06.02.2019, 01:31
1 ответ

Давайте пока проигнорируем sshи сделаем что-нибудь более простое.

Если да

telnet localhost 143

затем выполняется подключение от localhostкlocalhost

Если вместо этого

telnet my.ip.address 143

затем выполняется подключение от my.ip.addressкmy.ip.address

В обоих случаях мы подключаемся к порту 143 на одной и той же машине, но исходный адрес меняется. Итак, мы видим, что целевой IP-адрес меняет исходный IP-адрес.

То же самое относится и к переадресации портов ssh.

В первой версии вы подключаетесь к localhost, поэтому источником является localhost. Во второй версии вы устанавливаете соединение с основным IP-адресом сервера (и IP-адресом remote.host.net ), поэтому источник находится с этого IP-адреса.

Это не sshконкретная проблема; так обычно работает IP-маршрутизация.

2
28.01.2020, 02:30

Теги

Похожие вопросы