Я хотел бы построить эту сеть в Virtualbox:

Я использую OpenBSD для маршрутизаторов, эта ОС довольно проста и хорошо прокомментирована для настройки, однако у меня все еще есть одна проблема. Маршрутизатор с именем router02 может получить доступ к Интернету через router01, а устройства в сети LAN могут общаться с router02. Итак, что-то происходит в router02, поэтому сеть LAN не может получить доступ к сети через router01. Я также хотел бы получить доступ к сети из внутренней сети LAN, а позже иметь двустороннюю связь между этими двумя подсетями. Я предполагаю, что проблема в файле pf.conf, но я не могу его найти.

router01 имеет две сетевые карты:

  • em0 -> NAT;
  • em1 -> Внутренняя КАРТА (названная DMZ);

/etc/hostname.em1

192.168.10.1 255.255.255.0

/etc/hostname.em0

dhcp

/etc/pf.conf

pass out on em0 inet from 192.168.10.0/24 to any flags S/SA nat to (em0) round-robin
pass out on em0 inet from 192.168.100.0/24 to any flags S/SA nat to (em0) round-robin

router02 имеет две сетевые карты:

  • em0 -> Внутренняя КАРТА (названная DMZ);
  • em1 -> Внутренняя КАРТА (названная ЛВС);

/etc/hostname.em1

192.168.100.1 255.255.255.0

/etc/hostname.em0

192.168.10.2 255.255.255.0

/ И т.д. / MyGate

192.168.10.1

/etc/pf.conf

pass out on em0 inet from 192.168.100.0/24 to 192.168.10.1/24

(Я не хочу пока какой-либо сложной конфигурации pf, просто чтобы пропустить все пакеты.)

1 ответ1

0

Если вы проверите таблицу маршрутизации на router01 (используя либо route show либо netstat -r), вы обнаружите, что трафик для 192.168.10.0/24 будет проходить через em1 , а все остальное будет проходить по маршруту по умолчанию, который установлен dhclient на em0 Когда router01 получает пакет от 192.168.100.0/24 на em1 он отвечает на em0 потому что в таблице маршрутизации нет записи для этой подсети. Так что он будет использовать маршрут по умолчанию. Вы можете легко проверить это, выполнив, например,

$ route get 192.168.100.1

на роутере01. Запишите назначение и имя интерфейса в ответе.

router02 может получить доступ к Интернету через router01, потому что в этом случае запросы поступают от интерфейса DMZ на router2 (192.168.10.2), и он находится в той же подсети, что и em1 на router01. Поэтому, когда router01 отвечает, он отвечает через em1 потому что это маршрут для 192.168.10.0/24.

У вас есть два возможных решения: либо использовать NAT на router02 (это означает, что весь запрос от LAN достигнет router01 с 192.168.10.2 в качестве адреса источника), который будет работать, но означает дополнительную нагрузку на router02, либо просто сделать более логичную вещь, которая заключается в добавьте маршрут к вашей локальной сети на router01, чтобы он знал, что трафик в эту подсеть должен проходить через router02:

# route add 192.168.100.0/24 192.168.10.2

Вы можете сделать это постоянным, добавив следующую строку в /etc/hostname.em1:

!route add 192.168.100.0/24 192.168.10.2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .