Если вы используете Linux PC с двумя сетевыми интерфейсами для
маршрутизации двух (или более) подсетей, вы должны иметь включенным
IP Forwarding в вашем ядре. Сделайте
cat /proc/ksyms | grep ip_forward
Вы должны получить в ответ что-то вроде...
00141364 ip_forward_Rf71ac834
Если этого нет, то IP-Forwarding в вашем ядре не включен и вам потребуется
перекомпилировать и установить ядро заново.
Ради этого примера, давайте предположим, что вы должны разбить вашу IP
сеть класса C с адресом 192.168.1.0 на 4 подсети (по 62 IP адреса
интерфейса/хоста каждая). Причем две из этих подсетей образуют вместе
большую единую сеть, что дает три сети. Тогда:-
Сеть Широковещательный Сетевая маска Хосты
192.168.1.0 192.168.1.63 255.255.255.192 62
192.168.1.64 192.168.1.127 255.255.255.192 62
182.168.1.128 192.168.1.255 255.255.255.126 124 (см. прим.)
Примечание: причина, по которой последняя сеть имеет только 124 используемых
сетевых адреса (а не 126 как следует из задания сетевой маски) в том, что
она в действительности 'суперсеть' из двух подсетей. Хосты двух других сетей
будут интерпретировать 192.168.1.192 как сетевой адрес 'несуществующей'
подсети. Также они будут считать 192.168.1.191 широковещательным адресом
из 'несуществующей' подсети.
Итак, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей
сети, тогда машины в двух меньших сетях не смогут взаимодействовать с ними.
Этот пример демонстрирует важный принцип в подсетях - используемые адреса
определяются НАИМЕНЬШЕЙ подсетью в том же адресном пространстве.
Давайте предположим, что компьютер с запущенным Linux работает как
маршрутизатор для этой сети. Имеется три сетевых интерфейса в локальной
сети и возможно четвертый интерфейс в Интернет (который должен быть
маршрутом по умолчанию).
Давайте предположим, что компьютер с Linux использует наименьший доступный
IP адрес в каждой подсети на его интерфейсе в этой подсети. Надо настроить
эти сетевые интерфейсы так:
Интерфейс IP адрес Сетевая маска
eth0 192.168.1.1 255.255.255.192
eth1 192.168.1.65 255.255.255.192
eth2 192.168.1.129 255.255.255.128
В каждой из подсетей хосты должны быть настроены с их собственным IP адресом
и сетевой маской (соответственно своей сети). Каждый хост должен считать
Linux PC шлюзом/маршрутизатором, указав тот IP адрес компьютера с Linux,
который смотрит в его подсеть.
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!