Почему в Linux я не могу получить доступ к своей сети после подсети с маской 255.255.255.240?

Почему в Linux я не могу получить доступ к своей сети после подсети с маской 255.255.255.240?

Хорошо, во-первых, у меня система с двойной загрузкой. Linux Mint 18 (Sarah) Cinnamon и Windows 7 SP1. Хорошо, что я это сделал, потому что я новичок в Linux.

Когда я впервые установил Windows и Linux, я настроил LAN1 как 192.168.1.1/255.255.255.0. У меня не было проблем с доступом к LAN1 или Интернету из любой ОС.

Недавно я решил создать подсеть. Я изменил LAN1 на 192.168.64.80/255.255.255.240. Это дало мне xxx80 в качестве шлюза, 14 используемых IP-адресов как xxx81-xxx94, чего вполне достаточно, и xxx95 в качестве широковещательного. Затем я перезагрузил маршрутизатор, и новые IP-адреса были распространены через DHCP. Сетевые службы Windows получили данные DHCP, и я смог получить доступ к LAN1 и Интернету без проблем. Попробовал то же самое с Linux, но не могу получить доступ ни к чему на LAN1 или в Интернет. Проверив как сетевой апплет на рабочем столе, так и ifconfig через терминал, стало ясно, что Linux знает о новых данных DHCP. Поэтому я не понимаю, почему я не могу получить доступ ни к чему!

Знает ли кто-нибудь особенности сетевых технологий Linux, позволяющие исправить то, что явно требует ремонта?

Заранее спасибо.

решение1

Я думаю, что ваша проблема в том, что вы пытаетесь использовать сетевой адрес в качестве адреса шлюза, но вы не можете этого сделать. Шлюз — это хост в сети, и у него должен быть адрес хоста. Шлюз — это хост, на который все остальные хосты отправляют трафик, предназначенный для другой сети, но он все еще является хостом в сети и должен использовать адрес хоста. Сетевой адрес непригоден для использования, и он не должен появляться как адрес источника или назначения в любых пакетах IPv4.

Для вашего примера 192.168.64.80/28:

Network    = 192.168.64.80
First host = 192.168.64.81
Last host  = 192.168.64.94
Broadcast  = 192.168.64.95

Вам необходимо выбрать адрес шлюза из одного из адресов хоста. Некоторые используют первый адрес хоста в качестве стандартного адреса для шлюза, а некоторые используют последний адрес хоста. Некоторые просто выбирают любой адрес хоста. На самом деле это не имеет значения, так как шлюз является хостом в сети.

решение2

Маршрутизаторы Cisco имеют глобальную команду конфигурацииip подсеть-нольчто позволяет использовать сетевой адрес в качестве хоста. Однако не все реализации IP поддерживают это по умолчанию, как в данном случае.

Однако более поздние версии IOS, похоже, позволилиip подсеть-нольпо умолчанию, и поэтому ваш маршрутизатор, вероятно, не выжил из ума, раз позволяет вам настроить его таким образом.

Однако ваш Linux-бокс может быть не настроен на использование подсети 0. Может быть настройка sysctl; могут быть некоторые дополнительные ifconfigили routeфлаги для установки использования подсети 0. Однако я не использую Linux и поэтому не могу проверить, работают ли какие-либо из найденных в Google методов использования подсети 0, как задумано.

С сайта cisco нанастройка подсети-ноль..

Подсети с адресом подсети 0 незаконны и настоятельно не рекомендуются (как указано в RFC 791) из-за путаницы, которая может возникнуть между сетью и подсетью, имеющими одинаковые адреса. Например, если сеть 131.108.0.0 подсетью 255.255.255.0, подсеть 0 будет записана как 131.108.0.0, что идентично сетевому адресу.

Вы можете использовать подсеть из всех нулей и всех единиц (131.108.255.0), хотя это не рекомендуется. Конфигурирование интерфейсов для подсети из всех единиц явно разрешено. Однако, если вам нужно все пространство подсети для ваших IP-адресов ... (используйте команду, выделенную жирным курсивом выше)

решение3

У Linux с этим проблем нет. Когда я сталкивался с такими проблемами, это обычно было что-то из следующего:

  • Установленный в ОС брандмауэр по умолчанию, проверьте с помощью:

    sudo iptables -nvxL
    

    (обратите внимание также на политику)

  • Опечатка в конфигурации сети - на клиенте или сервере.

  • Опечатка в команде конфигурации, например ifconfig- она ​​может настроить совершенно фиктивные адреса, а некоторые реализации не принимают /28нотацию CIDR ( ), вам придется вводить ее вручную или использовать ключевое слово "netmask".
  • Дублирующиеся MAC-адреса

    cat /proc/net/arp  
    
  • IP-адрес в том же диапазоне на другом сетевом интерфейсе

  • Вирусное заражение роутера, проверьте прошивку
  • Сетевой коммутатор с зависшими портами, перезагрузите его

Связанный контент