У меня две подсети в локальной сети - мне нужен доступ от одной до второй через локальные порты без использования шлюза.
В linux я использую это:
ip route добавить 90.5.5.0/24 dev eth0 (у сервера есть IP, например 91.6.6.5). Данные отправляются напрямую на MAC - «оставайтесь только в маршрутизаторе».
Как я могу установить это и в Windows, пожалуйста?
Спасибо Павел
РЕДАКТИРОВАТЬ: это не дублируется с Укажите маршрут к интерфейсу в Windows cmd - моя проблема связана с двумя / 24 подсетями от одного интерфейса в одной локальной физической сети - мне не нужно использовать шлюз для доступа ко второй подсети - но как?
Вы предполагаете, что сетевой стек Windows реализован точно так же и с теми же оптимизациями, что и сетевой стек Linux. Это не обязательно правда.
Но если я правильно понял, вы сначала захотите использовать netsh interface ipv4 show interfaces
для определения номера интерфейса, к которому вы хотите прикрепить спецификацию маршрута. Я буду использовать [IFnumber]
определить этот номер.
Затем, если собственный IP-адрес системы - 91.6.6.5, тогда запись маршрута для сообщения о том, что сеть 90.5.5.0/24 также напрямую подключена через тот же сетевой адаптер, синтаксис будет следующим:
route add 90.5.5.0 mask 255.255.255.0 91.6.6.5 IF [IFnumber]
Другими словами: в синтаксисе Windows route
В команде обязательно указать IP-адрес шлюза. Но если ты не Если вы хотите использовать шлюз, вам нужно будет указать собственный IP-адрес интерфейса вместо шлюза, чтобы удовлетворить требованиям синтаксиса.
Вы можете попробовать это и посмотреть, работает ли это. Если вы это сделаете route print
, теперь он должен сказать, что сеть 90.5.5.0 подключена к тому же интерфейсу, который имеет IP-адрес 91.6.6.5. Добавить -p
параметр к команде для постоянного сохранения маршрута, если хотите.
Но если это не сработает, вы должны понимать, что это нестандартный способ создания IP-сетей, и его успех не гарантируется во всех реализациях. Это также приведет к тому, что пакеты, отправленные из этой системы в сегмент 90.5.5.0/24, будут иметь технически недействительный IP-адрес источника; но если системы смотрят только на адресацию уровня 2 («отправка напрямую на MAC»), это может работать. Если на любом конце есть программный брандмауэр со встроенным фильтром для недопустимых пакетов, это может легко стать препятствием для этой техники.
Обычный способ справиться с этим - добавить дополнительный IP-адрес (в сегменте 90.5.5.0/24) к сетевому интерфейсу. Добавление этого IP автоматически добавит аналогичный маршрут в таблицу маршрутизации, и это обеспечит наличие действительного IP-адреса источника для использования при отправке пакетов в сегмент 90.5.5.0/24.
Если вам не нужно использовать шлюз для доступа к другой сети, вам не нужна маршрутизация, и вы можете просто добавить второй IP-адрес к своей сетевой карте.
Свойства IPv4 -> Дополнительно ... -> IP-адреса: Добавить ...
Если вы думаете о переадресации портов между двумя подключенными сетями, это можно сделать с помощью:
netsh interface portproxy add v4tov4 listenport=4422 listenaddress=192.168.1.111 connectport=80 connectaddress=192.168.0.33