Я изучаю развертывание IPv6 в своей сети. Я изменил объявленную подсеть, и теперь мои компьютеры с Windows имеют IP-адреса из новой и старой сети.
Я смог перезагрузить адаптер, отключив кабель, но это, конечно, не долгосрочное решение.
Как заставить Windows забыть «неправильные» IP-адреса?
Я использую Windows 7 и Windows Server 2008 в качестве клиентов и radvd on squeeze в качестве маршрутизатора.
Я тестировал ipconfig /release
и /release6
, но оба не влияют на автоматически настроенные адреса.
Powershell с правами администратора
Показать IP-адрес: netsh interface ipv6 show address
Удалить IP / использовать имя интерфейса: netsh interface ipv6 delete address Ethernet0 200x:x:x:x:x:x:x:x
netsh interface ipv6 delete address (индекс или имя интерфейса) (ipv6address)
Показать маршруты: netsh interface ipv6 show route
Удалить маршрут: netsh interface ipv6 route delete 200x:x:x:x::/64 Ethernet0 store=persistent
netsh interface ipv6 route delete (ipv6prefix :: / 64) (Индекс или имя интерфейса)
Как только вы измените префикс, который рекламирует ваш маршрутизатор, адреса в старой подсети будут устарел и в конечном итоге были удалены без вашего вмешательства. Адрес будет устарел из-за разницы между предпочтительным и действительным сроком службы, объявленным вашим маршрутизатором. (В моей сети это работает до 90 минут, но это зависит от того, как вы настроили radvd.)
Чтобы увидеть устаревшие адреса в сетевых интерфейсах Windows, вы можете использовать netsh interface ipv6 show address
, или PowerShell Get-NetIPAddress -AddressFamily IPv6
.
IPv6 имеет более явную поддержку миграции IP-адресов. Изменение рекламируемой подсети должно быть прозрачным для ваших пользователей. Когда доступен новый адрес, новые соединения будут использовать этот новый IP-адрес. Старые соединения по-прежнему будут использовать старый адрес. В конечном итоге адрес следует удалить, но не раньше, чем все старые соединения перестанут использовать адрес.
Возможно, вам потребуется убедиться, что никакие соединения не прослушивают старый IP-адрес (netstat здесь ваш друг).
В любом случае, пока старый адрес не причиняет никакого вреда, это не должно быть проблемой. Какой показатель у этого адреса? Используется ли он для новых подключений?
Вам нужно будет удалить все кэшированные / автоматически настроенные параметры IPv6, а затем позволить им повторно распространяться. Команда в Windows:
netsh int ipv6 reset
Вам нужно будет перезапустить, чтобы изменения вступили в силу.
В командной строке
ipconfig /release
Синтаксис и параметры использования диагностической утилиты Ipconfig для сетевых подключений
Единственный способ, который сработал для меня, - это физически отключить сетевой кабель, а затем снова подключить его.