Так обстоят дела по умолчанию. Ничего не настраивал. Мой debian
сервер имеет сетевое соединение на eno2
с ip 192.168.1.40
. Интернет, sshd, все отлично работает.
Теперь я добавил второе подключение к eno4
. Это прямая ссылка (без маршрутизатора или коммутатора) на другой компьютер для целей управления. Назовем этого одного клиента. На клиенте это автоматически отображалось как 10.0.0.2
. Я могу пинговать с клиента.
На сервере не был назначен IP-адрес. Но я мог легко получить netcat от клиента, потому что мне нужен был только IP-адрес клиента.
Например.:
Клиент:
$ echo "Some big ZFS pool here" | nc -l -p 5555
Сервер:
$ nc -w 10 10.0.0.2 5555 | cat
Some big ZFS pool here
Однако в подключении отказано. Я могу подключиться через локальную сеть и Интернет по умолчанию eno2
192.168.1.40
соединение просто отлично. Только не по этой прямой ссылке.
По умолчанию sshd
слушает все входящие соединения на всех интерфейсах. Возможно eno4
просто нужен IPv4-адрес. Так я и сделал:
$ sudo ip addr add 10.0.0.1/8 dev eno4
$ ip addr show eno4
5: eno4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 0a:a5:6a:1b:a2:22 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.1/8 scope global eno4
valid_lft forever preferred_lft forever
Я могу пинговать 10.0.0.1
с сервера. Я могу netcat. Однако я не могу использовать ssh.
Есть много длинных длинных чтений с много работы над всеми видами таблиц маршрутизации и прочим в Интернете. Но я действительно ничего не знаю о маршрутизации, это необходимость, альтернативы, и, наверное, я бы потратил целый день на ее тестирование. Но действительно ли это так сложно? Я могу пинговать. Я могу netcat. Каков самый простой способ получить ssh
работать над интерфейсом? Может быть, даже временно, так что я могу все сделать сейчас?
И, при желании, какое постоянное решение лучше?
Обратите внимание, что sshd
якобы уже все слушает, и я не хочу, чтобы он переставал слушать. Я бы предпочел не изменять конфигурацию sshd и даже не перезапускать sshd, потому что сервер активно используется.
Единственное, что изначально изменилось на этом сервере, это порт:
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
Port 22222
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
... snip ...
По-видимому, после добавления IP-адреса это действительно работает. Я сделал ошибку в ssh_config
где я предполагал, что более поздние записи отменяют более ранние записи, но это наоборот!
Упрощенный пример; этот не работай:
Host SomeServer
Hostname 192.168.1.40
User admin
Port 22222
Host SomeServer
# Some temporary overwrite parameters
Hostname 10.0.0.1
Однако это делает работай:
Host SomeServer
# Some temporary overwrite parameters
Hostname 10.0.0.1
Host SomeServer
Hostname 192.168.1.40
User admin
Port 22222
Я чувствую себя немного глупо и не знаю, как мне поступить в этом случае:
Я выбрал последнее, чтобы закрыть дело и извиниться за неразрешимый вопрос (потому что на самом деле это уже сработало).