Похоже, это проблема кэширования браузера. После того, как я закрыл вкладку браузера, открыл другую и заново зашел на сайт, я смог войти в систему.
Возможно, я полностью закрыл окно браузера. ---Я не заметил, что закрыл его между использованием разных вкладок. Кажется, я не закрыл окно браузера.
В любом случае я не обновлял страницу ни F5, ни CTRL+R, ни CTRL+F5 и т.п.
Когда какой-либо клиент пытается установить соединение, он может либо указать свой собственный IP-адрес клиента, либо использовать адресINADDR_ANY
(AKA:0.0.0.0
)в качестве исходного адреса. Если используется INADDR _ANY, тогда Linux автоматически выбирает адрес, когда клиент вызывает connect()-see man 7 ip .
Самое простое решение — сообщить клиенту, какой IP выбрать.
Поскольку вы смонтировали с помощью mount -t nfs...
, вы можете просто установить clientaddr
опцию (см. man 5 nfs). Если вам нужен IP-адрес 10.20.30.41, вы просто добавляете опцию с:
... -o clientaddr=10.20.30.41...`
Или, если у вас уже есть -o
, просто разделите запятой другие варианты. Изменить
... -o foo=bar
с по
... -o foo=bar,clientaddr=10.20.30.41
Если вы не можете остановить свой клиент с помощью INADDR _ANY , тогда...
Из того, что я прочитал, исходный адрес задается адресом src
в таблице маршрутизации. См. man 8 ip route
Таким образом, Linux проверяет удаленный (NAS )IP-адрес, к которому вы пытаетесь подключиться, а затем ищет адрес в своей таблице маршрутизации. Он выбирает указанный там адрес src
.
В терминале вы можете просмотреть таблицу маршрутизации с помощью ip route
и получить что-то вроде этого:
default via 192.168.1.254 dev wlan0 proto dhcp src 192.168.1.143 metric 600
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.19.0.0/16 dev br-ff4f53a0f3b5 proto kernel scope link src 172.19.0.1
172.22.0.0/16 dev br-66358811b693 proto kernel scope link src 172.22.0.1 linkdown
172.29.0.0/16 dev br-ce3d9cbbad0b proto kernel scope link src 172.29.0.1 linkdown
192.168.1.0/24 dev wlan0 proto kernel scope link src 192.168.1.143
192.168.1.254 dev wlan0 proto dhcp scope link src 192.168.1.143 metric 600
Здесь вы можете видеть, что если вы попытаетесь подключиться к чему-либо, 172.17.x.x
Linux выберет 172.17.0.1
в качестве исходного адреса. Точно так же все в общедоступном Интернете будет проходить по «маршруту по умолчанию», поэтому будет выбран 192.168.1.143
.
Вы можете изменить таблицу маршрутизации с помощью ip route add...
, ip route change...
и ip route del...
.
Я бы посоветовал вам внести минимальное изменение в таблицу маршрутизации, чтобы избежать других проблем. Вы создаете маршрут для одного IP-адреса, и он будет иметь приоритет над маршрутом для всей подсети. Например, если локальная сеть 10.20.30.0/24, вторичный IP-адрес системы 10.20.30.22 также на интерфейсе eth0 , а NAS также в этой локальной сети использует 10.20.30.31 :
.ip route add 10.20.30.31/32 dev eth0 src 10.20.30.22
или если NAS находится в другой сети с адресом 172.20.30.31, доступным через шлюз 10.20.30.1:
ip route add 172.20.30.31/32 via 10.20.30.1 src 10.20.30.22
Предупреждение. :У меня не было возможности проверить вышеуказанное.