freebsd, vlan'ы, маршрутизация

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ikabodkrain
проходил мимо
Сообщения: 5
Зарегистрирован: 2022-02-21 11:18:21

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение ikabodkrain » 2022-02-21 12:17:04

Доброго времени!
Есть не большой пул реальных ip адресов, задача разделить их в несколько вланов, чтоб можно было их прописывать статикой, и этот сервер выступал шлюзом, но кокос не растет
rc.conf

Код: Выделить всё

cloned_interfaces="vlan20 vlan703 vlan704"
ifconfig_igb0="up"

ifconfig_igb1="inet x.x.104.29  netmask 255.255.255.0"
ifconfig_lo0_alias0="inet 10.255.0.29 netmask 255.255.255.255"

ifconfig_vlan20="inet 10.200.0.29 netmask 255.255.0.0 vlan 20 vlandev igb0 mtu 1500"
ifconfig_vlan703="inet x.x.105.25 netmask 255.255.255.0 vlan 703 vlandev igb0 mtu 1500"
ifconfig_vlan704="inet 10.210.0.1 netmask 255.255.240.0 vlan 704 vlandev igb0 mtu 1500"

defaultrouter="x.x.104.1"
gateway_enable="YES"

firewall_enable="YES"
firewall_type="OPEN"
#firewall_logging="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"

sshd_enable="YES"
pf.conf

Код: Выделить всё

ext_if = "igb1"

set limit states 16000000
set optimization aggressive
set limit frags 1000000
set limit src-nodes 200000
set limit table-entries 1000000

nat pass on $ext_if from 10.0.0.0/8 to any -> x.x.104.29
в фаервол прописываю правила

Код: Выделить всё

${f} add 28 allow all from 10.210.0.10 to any
${f} add 28 allow all from any to 10.210.0.10

${f} add 29 allow all from x.x.105.45 to any
${f} add 29 allow all from any to x.x.105.45
и вот в чем беда, с серыми адресами все работает, на машине в 704 влане с адресом 10.210.0.10, все работает инет есть все как положено, а в 703 влане инета нет, в чем беда не могу разобраться, в фаервол пробовал прописать

ipfw add 26allow ip from x.x.104.1/24 to x.x.105.1/24
ipfw add 27 allow ip from x.x.105.1/24 to x.x.104.1/24
вообще отключал фаервол, эффекта ни какого,
т.к ip реальные в нате нет смысла они должны сразу выходить в мир, но на всякий случай пробовал добавить в pf

binat pass on $ext_if from x.x.105.0/24 to any -> x.x.105.25/24

так же не дало результата.
прошу помощи у знающих людей, может кто знает в чем может быть заковырка

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35391
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение Alex Keda » 2022-02-21 17:29:14

igb1 прицепить надо к вланам
Серая через щ нет уходит, а белой уходить некуда....

Помоему
Убей их всех! Бог потом рассортирует...

ikabodkrain
проходил мимо
Сообщения: 5
Зарегистрирован: 2022-02-21 11:18:21

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение ikabodkrain » 2022-02-22 10:43:34

спасибо, но нет, уже пробовал так
ifconfig_vlan703="inet x.x.105.25 netmask 255.255.255.0 vlan 703 vlandev igb1"
эффекта не дало.
В общем дело такое похоже что с влана, а точнее с самого шлюза нет выхода в инет
когда все прописано статикой на сетевой то шлюз она видит пинги к x.x.105.25 идут но инета нет
пытался прописать маршруты, говорит маршрут уже есть

route: writing to routing socket: File exists
add net x.x.x.0: gateway x.x.x.x fib 0: route already in table
мне кажется что нужно правильно прописать маршрут или какой то gateway для влана 703 или ипа x.x.105.25, но вот как это сделать?
Пробовал через бинат, не работает
binat pass on $ext_if from x.x.105.0/24 to any -> x.x.105.25/24

и соответственно
ifconfig igb1 alias x.x.105.25 netmask 255.255.255.0
зы: ипы наши, крутяться на нашей as, используем bgp full view

Demis
прапорщик
Сообщения: 474
Зарегистрирован: 2015-05-25 14:36:32

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение Demis » 2022-02-22 16:44:51

Попробуйте ознакомиться с posting.php?f=53&p=391580 и posting.php?f=53&p=391614 (ну и в принципе там странички почитать). Возможно все банальнее чем кажется...

ikabodkrain
проходил мимо
Сообщения: 5
Зарегистрирован: 2022-02-21 11:18:21

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение ikabodkrain » 2022-02-23 8:10:52

ссылки не рабочие,выдает
Информация
Не указан режим сообщения.
можно полностью


ikabodkrain
проходил мимо
Сообщения: 5
Зарегистрирован: 2022-02-21 11:18:21

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение ikabodkrain » 2022-02-23 13:31:39

Demis, спасибо, но к сожалению это не мой случай, vlan у меня поднимаеться

Код: Выделить всё

[root@router ~]# ifconfig vlan705
vlan705: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=600303<RXCSUM,TXCSUM,TSO4,TSO6,RXCSUM_IPV6,TXCSUM_IPV6>
        ether a0:36:9f:1b:83:00
        inet x.x.104.30 netmask 0xfffffc00 broadcast x.x.107.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 705 parent interface: igb0
c сервера я пингую абонента в этом влане, и с абонентской машины тоже пингую шлюз, и инета у конечного пользователя нет.
и вот в чем причина,с мира ни вижу ни абонентский адрес, ни сам шлюз. Т.е получается что мой ip не имеет выхода в инет, а если инета нет на адресе шлюза то откуда ему взяться у конечного пользователя

Demis
прапорщик
Сообщения: 474
Зарегистрирован: 2015-05-25 14:36:32

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение Demis » 2022-02-24 1:08:00

Возможно.
И это хорошо если Вы в этом уверены.
"Статус активе" не говорит нам, что все остальное поднялось и работает.
Мы-же помним сколько всего отрабатывает при старте сети?
В линке выше там приведен список стартующих демонов сети. Но не суть.
Если все-таки уверенность есть, то дальше нужно вспомнить, что у Вас есть два активных файервола ipfw и pf.
Архитектурно ipfw будет отрабатывать всегда раньше чем pf. Это нужно просто помнить когда работаешь с большим числом файерволлов.
Дальше.
Нужно определиться, что такое в Вашем понимании
ikabodkrain писал(а):
2022-02-21 12:17:04
пул реальных ip адресов, задача разделить их в несколько вланов
Поясню, что мне не понятно.
Например, сетка может работать в разных вариантах:
а. все реальные адреса прописаны на внешнем интерфейсе->ipfw->pf->другие интерфейсы
б. все реальные адреса прописаны на внешнем интерфейсе->ipfw->nat->pf->nat->другие интерфейсы (через нат)
в. внешний интерфейс->ipfw->pf->все реальные адреса прописаны на внутренних интерфейсах (прямая маршрутизация)
Про остальные варианты пока не пишу.
Из представленной Вами информации пока вижу, что это скорее вариант "в".
Судя по
ikabodkrain писал(а):
2022-02-21 12:17:04
firewall_enable="YES"
firewall_type="OPEN"
ikabodkrain писал(а):
2022-02-21 12:17:04
pf_enable="YES"
Далее: для pf выходной интерфейс ната вижу, а это уже немного (но пока не критично) не соответствует п. "в".
Критично, на мой взгляд другое, правила вида
ikabodkrain писал(а):
2022-02-21 12:17:04
${f} add 29 allow all from x.x.105.45 to any
${f} add 29 allow all from any to x.x.105.45
должны стоять раньше 28-ых, т.е. все, что маршрутизируется, должно отрабатываться раньше чем дойдет до ната. Причем, если правильно помню, входящий пакет должен быть до ната, а исходящий после ната (какой реальный номер правила у ната от pf не указано).
Да и потом, почему нумерация 28,28,29,29, а не 28,29,30,31 ?
pf по дефолту имеет man pf

Код: Выделить всё

SYNOPSIS
     device pf
     options PF_DEFAULT_TO_DROP
Т.е. то, что не прописано будет дропаться. Вероятно поэтому не проходят пинги да и остальные пакеты из вне.
Возможно, что правила в Вашем посте указаны не все.

Demis
прапорщик
Сообщения: 474
Зарегистрирован: 2015-05-25 14:36:32

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение Demis » 2022-02-24 2:07:51

И еще.
Постарайтесь, пожалуйста как-то придерживаться схематики.
А то каша какая-то в примерах, из разных сетей и ип адресов назначенными интерфейсам:
ikabodkrain писал(а):
2022-02-21 12:17:04
cloned_interfaces="vlan20 vlan703 vlan704"
ikabodkrain писал(а):
2022-02-21 12:17:04
ifconfig_vlan703="inet x.x.105.25 netmask 255.255.255.0 vlan 703 vlandev igb0 mtu 1500"
в pf x.x.105.45
ikabodkrain писал(а):
2022-02-21 12:17:04
${f} add 29 allow all from x.x.105.45 to any
${f} add 29 allow all from any to x.x.105.45
в ipfw (НЕ в pf, а почему?) адреса:
ikabodkrain писал(а):
2022-02-21 12:17:04
ipfw add 26 allow ip from x.x.104.1/24 to x.x.105.1/24
ipfw add 27 allow ip from x.x.105.1/24 to x.x.104.1/24
влан 705 ип x.x.104.30 (которого нет в начале поста)
ikabodkrain писал(а):
2022-02-23 13:31:39
inet x.x.104.30 netmask 0xfffffc00 broadcast x.x.107.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
vlan: 705 parent interface: igb0
Лично мне, в таком случае, проблемно построить логически Вашу схематику.
Слишком много не связанных между собой вещей.

guest
проходил мимо

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение guest » 2022-02-24 14:18:10

Есть не большой пул реальных ip адресов, задача разделить их в несколько вланов, чтоб можно было их прописывать статикой, и этот сервер выступал шлюзом, но кокос не растет
кокос не растет по самой простой причине:
нет схемы сети -> нет понимания

Ну а сотворять кашу из ipfw и pf - страшное дело.

ikabodkrain
проходил мимо
Сообщения: 5
Зарегистрирован: 2022-02-21 11:18:21

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение ikabodkrain » 2022-02-25 11:41:16

Всем спасибо за помощь, проблема решена.
Начнем по порядку
1
Да и потом, почему нумерация 28,28,29,29, а не 28,29,30,31 ?
на самом деле ipfw все равно как оно прописано это номер правила, и т.к он касается одного адреса это не принципиально, оба варианта являются правильными, один номер сделан для простоты удаления/добавления
2
Постарайтесь, пожалуйста как-то придерживаться схематики.
А то каша какая-то в примерах, из разных сетей и ип адресов назначенными интерфейсам:
извиняюсь за такой сумбур, просто все переписывалось на коленке, в очень сжатые сроки, и там добавлялись/удалялись, переписывались, и изменялись адреса, вланы, правила и еще много чего, поэтому могут быть не состыковки начального и последующих постов
3
кокос не растет по самой простой причине:
нет схемы сети -> нет понимания
схема есть, понимание тоже, дельного совета нет, а умничать может каждый.
Вывод: проблема оказалась куда банальней, и как писал Demis, действительно проста, на бордере не было маршрутизации, дорисовал статический маршрут из нужной подсети на нужный адрес, и загнал его в нужный мне влан, и все заработало на начальной настройке из первого поста

guest
проходил мимо

freebsd, vlan'ы, маршрутизация

Непрочитанное сообщение guest » 2022-02-25 12:00:38

схема есть, понимание тоже, дельного совета нет, а умничать может каждый.
Вывод: проблема оказалась куда банальней, и как писал Demis, действительно проста, на бордере не было маршрутизации, дорисовал статический маршрут из нужной подсети на нужный адрес, и загнал его в нужный мне влан, и все заработало на начальной настройке из первого поста
ЧТД: "на бордере не было маршрутизации, дорисовал статический маршрут из нужной подсети на нужный адрес, и загнал его в нужный мне влан" - нет схемы, нет понимания.