Смешивание локальных для ссылки IP-адресов и routable IP-адресов
Q: Как я могу сконфигурировать свой компьютер для передачи с устройствами, использующими локальные для ссылки IP-адреса, когда мой компьютер использует routable IP-адрес? Как я могу сконфигурировать свой компьютер для передачи с устройствами, использующими routable IP-адреса, когда мой компьютер использует локальный для ссылки IP-адрес?
A: Как я могу сконфигурировать свой компьютер для передачи с устройствами, использующими локальные для ссылки IP-адреса, когда мой компьютер использует routable IP-адрес? Как я могу сконфигурировать свой компьютер для передачи с устройствами, использующими routable IP-адреса, когда мой компьютер использует локальный для ссылки IP-адрес?
Ответ зависит, на какой операционной системе Вы используете.
Mac OS X
Никакая конфигурация не необходима. Mac OS X уже знает, что 169.254/16 определяется для ссылки, и пакеты, адресуемые местам назначения в том диапазоне, будут отправлены непосредственно в устройство на локальной ссылке, не отправленной в шлюз для передачи вне ссылки. Когда Mac OS X использует локальный для ссылки адрес, это, ARPs для всего, таким образом, машина Mac OS X, использующая локальный для ссылки, может также связаться с использованием устройств не, соединяют локальные адреса. Отметьте, однако, что при использовании многократных интерфейсов одновременно локальное для ссылки обращение только активно в основном интерфейсе (тот, кажущийся первым в списке в Сетевой Предпочтительной Панели). Это ограничение может быть снято в будущем, но если бы мир перемещается для принятия IPv6 так быстро, как мы хотели бы, вопросы о IPv4 могут стать спорными, потому что IPv6 уже поддерживает локальные для ссылки адреса в каждом интерфейсе.
Windows
Windows поддерживал IPv4 локальное для ссылки обращение начиная с Windows 98, но коммуникация между локальными для ссылки и routable IP-адресами автоматически не включена как требуется RFC 3927. Следующие команды, введенные в командной строке DOS, включат коммуникацию смешанной сети на Windows. Вместо «put_my_address_here» и «put_my_link_local_address_here», помещенного собственные IP-адреса машины Windows.
route add 169.254.0.0 mask 255.255.0.0 put_my_address_here route add 0.0.0.0 mask 0.0.0.0 put_my_link_local_address_here |
Обратите внимание на то, что, потому что эти команды должны включать Ваш текущий routable или локальный для ссылки IP-адрес, необходимо было бы восстановить команды каждый раз изменения IP-адреса. Поэтому команды, перечисленные здесь, являются самыми полезными для разработчиков, создающих изделия, использующие Добрый день, не для конечных пользователей. Когда Вы устанавливаете Добрый день для Windows, эти настройки таблицы маршрутизации автоматически устанавливаются и сохраняются для Вас.
Linux
Большинство современных дистрибутивов Linux уже включает полный IPv4 локальная для ссылки поддержка. Более старые дистрибутивы Linux (и подобные системы Unix), которые не знают, как направить к локальному для ссылки, могут быть вручную сконфигурированы для отправки локальных пакетов ссылки непосредственно в локальные устройства с двумя простыми командами, как показано ниже. Если Ваш основной интерфейс не является «eth0», тогда заменяют именем Вашего основного интерфейса вместо этого.
route add -net 169.254.0.0 netmask 255.255.0.0 dev eth0 metric 99 route add default dev eth0 metric 99 |
Первая команда говорит, «если Вы не знаете лучше, маршрут, локальный для ссылки непосредственно для Ethernet», и второе говорит, «если Вы не знаете лучше, затем направьте все непосредственно к Ethernet». «Метрика 99» означает, что эти маршруты являются низким приоритетом. Если существует какая-либо запись таблицы маршрутизации с более высоким приоритетом (например, метрика 0), это имеет приоритет. Это означает, что безопасно добавить их к rc.local и иметь их *всегда* быть активным, потому что они только вступают в силу, когда нет никакой более высокой приоритетной записи таблицы маршрутизации для сообщения ядра, что сделать. Можно вставить эти две команды Ваш /etc/rc.local файл для выполнения во время запуска.
Для дистрибутивов Linux, использующих /etc/sysconfig/static-routes файл, можно поместить следующие две строки в тот файл вместо того, чтобы использовать команды маршрута выше.
eth0 net 169.254.0.0 netmask 255.255.0.0 metric 99 eth0 net 0.0.0.0 netmask 0.0.0.0 metric 99 |
Эти две строки говорят ядру Linux, что 169.254/16 определяется, чтобы всегда быть на локальной ссылке, независимо от того что, и если существует некоторый другой адрес, что Вы понятия не имеете, как достигнуть, затем это, по крайней мере, стоит попытки видеть, достижимо ли это на локальной ссылке.
История версии документа
| Дата | Примечания |
|---|---|
| 06.07.2005 | Новый документ, объясняющий, как включить коммуникацию между устройствами с локальными для ссылки адресами и устройствами с routable адресами. |