Как маршрутизировать шлюз с двумя сетевыми картами (FreeBSD 10.2)?

Как маршрутизировать шлюз с двумя сетевыми картами (FreeBSD 10.2)?

Я пытаюсь настроить маршрутизатор freebsd, который находится между кабельным/dsl-модемом и моими машинами lan. Вот логическая настройка:

Кабельный/DSL-модем, подключенный к Интернету:

gateway 192.168.0.1

Маршрутизатор FreeBSD (с двумя сетевыми картами):

em0 192.168.0.121
ue0 10.0.0.1

Сетевая машина FreeBSD:

em0 10.0.0.2

Похоже, что путь от локальной сети к глобальной сети должен быть следующим: 10.0.0.2->10.0.0.1->192.168.0.1->wan, и я должен иметь возможность пинговать машину в Интернете с машины локальной сети.

Однако вкратце:

  • Интернет доступен через маршрутизатор FreeBSD.
  • Сетевой компьютер доступен с маршрутизатора FreeBSD.
  • Маршрутизатор FreeBSD доступен с локальной машины.
  • Интернет недоступен с локальной сети.

Вот записи /etc/rc.conf на маршрутизаторе:

ifconfig_ue0="inet 10.0.0.1 netmask 255.255.255.0"
ifconfig_em0="inet 192.168.0.121 netmask 255.255.255.0"
gateway_enable="YES"                                                   
defaultrouter="192.168.0.1" 

Вот записи /etc/rc.conf на локальной машине:

ifconfig_em0="inet 10.0.0.2 netmask 255.255.255.0"
defaultrouter="10.0.0.1"

Вот записи таблицы маршрутизации маршрутизатора FreeBSD (loki):

netstat -r            
Routing tables

Internet:                                          
Destination        Gateway            Flags      Netif Expire
default            192.168.0.1        UGS         em0 
10.0.0.0/24        link#3             U           ue0
10.0.0.1           link#3             UHS         lo0
127.0.0.1          link#2             UH          lo0
192.168.0.0/24     link#1             U           em0
192.168.0.121      link#1             UHS         lo0

Вот записи таблицы маршрутизации с локальной машины (freebird):

netstat -r
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            10.0.0.1           UGS         em0
10.0.0.0           link#1             U           em0
10.0.0.2           link#1             UHS         lo0
freebird           link#2             UH          lo0

netstat на локальной машине работает ооочень медленно.

Соответствует ли эта информация настройке или имеется очевидная проблема?

решение1

Я думаю, вам нужно добавить статический маршрут на модеме, чтобы направлять весь входящий трафик для 10.0.0.0/8 на 192.168.0.121.

Я скорее предполагаю, что NAT здесь реализован в модеме.

решение2

Это было бы решением в pfбрандмауэре, если NAT-ing не выполняется в модеме. Однако NAT-ing может быть выполнен в pppdили pppoe, поскольку вы утверждаете, что используете DSL.

Редактировать /etc/pf.conf:

external_iface="em0"  # your WAN facing interface
internal_iface="ue0" # your LAN facing interface

set skip on lo0 # skip filtering on loopback
nat on $external_iface from $internal_iface:network to any -> ( $external_iface:0)

block in on $external_iface

pass in quick on $internal_iface from $internal_iface:network to any keep state

pass out on $external_iface

Что касается DNS, вы можете настроить local_unbound на Frebsd-сервере, настроить его на прослушивание 192.168.0.1, а затем либо передать эту конфигурацию dhcpdсвоим клиентам в локальной сети, либо вручную отредактировать ее /etc/resolv.confследующим образом:

echo 'nameserver 192.168.0.1' > /etc/resolv.conf

решение3

Вам необходимо настроить NAT на вашем маршрутизаторе FreeBSD и необходимо преобразовать NAT (с трансляцией портов) ваши сети 10.0.0.0/8 в IP-адрес 192.168.0.121/32. В противном случае ваш компьютер локальной сети не сможет получить доступ к Интернету.

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