2 локальных сетевых соединения
Имеем таблицу маршрутов она для всех приложений одинакова, если в чем либо или где либо набрать IP адрес то с начала будет проверена таблица маршрутов (route print) на соответствие данного IP маршруту, если нет такого то будет выбран маршрут по умолчанию default - 0/0. Если их более двух то тот у которого метрика меньше.
Второе. Маршруты можно добавить route add -p т.е. если имеем адрес в интернет IP_A и хотим чтоб использовался маршрут другой для доступа к этому IP то просто добавляем маршрут, но данный маршрут опять попадает под правило для всех приложений.
route add -p IP_A/255.255.255.255 IP_нужного_шлюза
Для приложений возможно только через правила firewall.
Netsh Advfirewall Firewall Rule Параметр Значение
Все параметры, которые доступны для этой команды, идентичны некоторым параметрам команды Add. Для этой команды доступны следующие параметры:
name = { all | RuleName }, dir = { in | out }, profile = { public | private | domain | any | [ ,... ] }, program = ProgramPath\FileName, service = { ServiceShortName | any }, localip = { Addresses }, remoteip = { Addresses }, localport = { any | Integer | rpc | rpc-epmap | teredo | [ ,... ] }, remoteport = { any | Integer | [ ,... ] }, protocol = { any | Integer | icmpv4 | icmpv6 | icmpv4:type,code | icmpv6:type,code | tcp | udp }
....
set rule name=ИмяПравила Параметр Значение
В том случае, если критерию соответствуют несколько правил, все соответствующие правила будут обновлены. В следующем списке отображены все параметры, которые вы можете задавать без параметра new:
* group = GroupName | name = { all | RuleName }
* dir = { in | out }
* profile = { public | private | domain | any } [ ,... ]
* program = ProgramPath\FileName
* service = { ServiceShortName | any }
* localip = Addresses
* remoteip = Addresses
* localport = { any | rpc | rpc-epmap | teredo | iphttps | Integer | [ ,... ] }
* remoteport = { any | Integer | [ ,... ] }
* protocol = { any | Integer | icmpv4 | icmpv6 | icmpv4:type,code | icmpv6:type,code | tcp | udp }
Johny-electric,
По вашей таблице в данный момент времени имеем один ед.маршрут по умолчанию это
0/0 192.168.1.1 192.168.1.2 276
так как для второго маршрута, который прописан вручную Persistent Routers в настоящий момент нет данных через какой интерфейс его посылать
0/0 192.168.13.1
про него должна быть запись в основной таблице, что-то например
192.168.13.0 255.255.255.0 On-Link 192.168.13.хх
Имеем если IP к которому хотим получить доступ попадает в сетку описанную в route print
192.168.1.0 255.255.255.0 On-Link 192.168.1.2 276
то все пакеты пойдут по нему, если не попадаем то маршруту
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.2 276
Дайте route print при всех включенных сетевых картах.
Включил обе сетевые карты и перезагрузил комп. Значок сети никаких ошибок не показывает, будто есть инет, но не один сайт не открывается. В сетевые ресурсы (локалка) тоже не заходит.
Johny-electric, метрика совпадает у обоих машрутов. Выставьте одному из них меньшую метрику
Lico, но если я выставлю меньшую метрику, то, как я понял, это соединение будет более приоритетным по сравнению со вторым? И тогда любая программа будет ломиться в инет через это соединение? А как быть, если в одном и том же браузере, но в разных его вкладках мне надо открыть одновременно страницу в инете и страницу на сайте внутри локальной сети? Через какое соединение полезет браузер?
Johny-electric,
В первом случае если метрика одинаковая то определяется маршрут который более быстрый т.е. с наименьшими задержками.
Если вам Johny-electric, надо чтоб в двух закладках броузера но по разным каналам, то только через маршрут
route add -p IP_server 255.255.255.255 192.168.13.1 (или 192.168.1.1)
Но тогда вам придется прописывать именно все маршруты которые нужно по другому каналу. Проверить только через трассер.
Или для конкретного приложения например FF и Chromium добавить правило для firewall, т.е. одно приложение по одному маршруту, другое по другому. Но данный вариант я не проверял - теория.
Бэлиан, то есть, если я задам для интернет-подключения бОльший приоритет, чем для локальной сети, но пропишу IP-адреса (route add -p 192.168.1.2 255.255.255.255 192.168.13.1) серверов, нужных мне в сети, то все программы будут по умолчанию лезть в инет (у него ведь бОльший приоритет), но при попытке открытия этих некоторых IP-адресов, они будут лезть в локалку по прописанным маршрутам? Так? DC++ тоже при попытке открытия адреса 192.168.1.2 будет использовать эти маршруты и лезть в локалку, а не в инет? А если адрес локального хаба имеет DNS-имя (dchub://dc1.ksilim.ru) и по нему коннектится DC? DC ведь при попытке подключения не будет знать, что этот адрес находится в сети, а не в инете. И всё равно будет ломиться в инет?
то есть, если я задам для интернет-подключения бОльший приоритет, чем для локальной сети
1.если учесть что у вас выход в интернет на сетевой карте с 192.168.1.2 и шлюз 192.168.1.1 и получили маршрут по умолчанию 0/0 на 192.168.1.1 - это значит что любое приложение у которого IP адрес не принадлежит сети 192.168.1.0/255.255.255.0 следует отправлять в сеть через интерфейс 192.168.1.2 для шлюза 192.168.1.1
2.при включении второй карты вы получаете сетевой интерфейс 192.168.13.34 и шлюз 192.168.13.1 и получили маршрут по умолчанию 0/0 на 192.168.13.1 - это значит что любое приложение у которого IP адрес не принадлежит сети 192.168.13.0/255.255.255.0 и в данном случае еще и 192.168.1.0/255.255.255.0 следует отправлять в сеть через маршрут по умолчанию 0/0 у которого метрика меньше, или при равных метриках по своей методике windows определяет более быстрый маршрут.
3.если поставите метрику меньше на интерфейсе c 0/0 и шлюз 192.168.1.1 то все программы будут лезть по данному маршруту, за исключением только IP из диапазона 192.168.13.0/255.255.255.0
4.имеем какой-то локальный ресурс который лежит в локальной сети и имеет адрес 192.168.15.15, до него можно достучаться через интерфейс 192.168.13.34 Исходя из этого нам нужно написать маршрут так как данного IP адреса или данной сети в таблице маршрутизации нет, то следовательно запрос пойдет по маршруту 0/0 на шлюз 192.168.1.1, по этому пишем вот что
route add -p 192.168.15.15 255.255.255.255 192.168.13.1
или
route add -p 192.168.15.0 255.255.255.0 192.168.13.1
в результате будет добавлена запись в таблицу маршрутизации, и при обращении нашего приложения к IP адресу 192.168.15.15 сначала проверится таблица маршрутов на существование записи для данного IP или сети и так как запись существует то пакеты будут отправлены на шлюз 192.168.13.1
5.имеем другой какой-то локальный ресурс который лежит в локальной сети и имеет адрес 192.168.40.40, до него можно достучаться через интерфейс 192.168.13.34 и кучу маршрутизаторов по пути. Исходя из этого нам нужно написать маршрут так как данного IP адреса или данной сети в таблице маршрутизации нет записи, то следовательно запрос пойдет по маршруту 0/0 на шлюз 192.168.1.1, по этому пишем вот что
route add -p 192.168.40.40 255.255.255.255 192.168.13.1
или
route add -p 192.168.40.0 255.255.255.0 192.168.13.1
в результате будет добавлена запись в таблицу маршрутизации, и при обращении нашего приложения к IP адресу 192.168.40.40 сначала проверится таблица маршрутов на существование записи для данного IP или сети и так как запись существует то пакеты будут отправлены на шлюз 192.168.13.1
7.определиться только нужно будет с DNS если обращение к ресурсам будет по мнемонике.
Бэлиан, спасибо огромное, я понял, вот выставил метрику 222 для инет-подключения и 333 для локальной сети.
Johny-electric,
ip адрес 192.168.1.100 принадлежит сетки 192.168.1.0/255.255.255.0 поэтому любые маршруты по барабану, так есть маршрут по этой сети и направлять все на шлюз 192.168.1.1
Бэлиан, хорошо, я понял. Настройки локальной сети и IP-адреса серверов в сети я конечно же сменить не могу, зато я могу сменить IP-адрес интернет-подключения. Сейчас попробую настроить модем и связанную с ним сетевуху на адреса 192.168.255.1. Просто 255 подсеть у нас в сети появится ооочень нескоро, если вообще появится. Поэтому на этот интерфейс не будет конфликтов, я прав? Можно ли использовать число 255? Насколько я знаю, это последний доступный адрес в IPv4 сети...
UPD: уже сам проверил, сменил в веб-интерфейсе модема настройки Ethernet, потом сменил соответственно настройки подключения на компе. Вот что получилось
Блин, долго не мог понять, почему DC перестал качать и искать, а оказывается про портфорвардинг забыл. Пришлось проброс портов делать в модеме по новому на адрес 192.168.255.1. Но зато теперь всё отлично качает и ищет. Осталась проблема с прописыванием маршрута для адреса 192.168.1.100 в локальной сети. "bad argument", хоть убей. Инет пока так пусть работает, жду совета...
Johny-electric,
Ошибочка вышла в команде
Маршрут добавляется командой route (через Пуск -> Выполнить -> cmd):
route -p add "ip_адрес_сервера" "ip_адрес_наземного_шлюза"
Параметр -p указывает, что маршрут будет постоянным, т.е. сохранится в системе и после перезагрузки.
Johny-electric писал:на адреса 192.168.255.1. Просто 255 подсеть у нас в сети появится ооочень нескоро, если вообще появится. Поэтому на этот интерфейс не будет конфликтов, я прав? Можно ли использовать число 255? Насколько я знаю, это последний доступный адрес в IPv4 сети...
Сеть 255 использовать вообще-то не рекомендуется, так как 255 используется для указания масок подсетей по CIDR-диапазонам.
Я думаю нормально будет диапазон
192.168.255.0 - 192.168.255.255 /255.255.255.0
* содержащие 0 во всех двоичных разрядах поля номера узла; такие IP-адреса используются для записи адресов сетей в целом;
* содержащие 1 во всех двоичных разрядах поля номера узла; такие IP-адреса являются широковещательными адресами для сетей, номера которых определяются этими адресами.
Остальных ограничений по моему нет
arseny1992, а в чём конкретно может проявиться проблема? Пока что всё отлично работет. Вот пришёл с работы и проверил - 13 часов непрерывной работы DC++ без проблем.
Бэлиан, ну 192.168.255.2 как раз входит в этот диапазон. Вы считаете это нормальным? Или всё таки лучше сменить на, к примеру, 192.168.254.2? Почему ставлю такой большой третий сегмент - чтобы как можно дольше не столкнуться с конфликтом адресов в локальной сети (192.168.xxx.xxx), они ведь потихоньку добавляются по мере увеличения кол-ва компов.