Я пытаюсь настроить маршрутизатор 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. В противном случае ваш компьютер локальной сети не сможет получить доступ к Интернету.