RFC 3378 EtherIP с FreeBSD

Написах това ръководство, за да споделя със света как да използваме RFC 3378 за преодоляване на две мрежи на ниво Ethernet през маршрутизирана IP мрежа - особено, тъй като изглежда, че това ще бъде единственото ръководство в Интернет, което обхваща как да направите това!


Заден план

Работя за националния отдел за здравни услуги на местна власт с повече от 35 обекта, покриващи здравни и социални услуги.

Повечето от тези сайтове са на остров, където директните комуникации (осигурени от местната телекомуникационна компания) съществуват като WAN връзки между основния ни сайт и тези сателитни сайтове. Единият сайт е на друг остров и връзката ни с него протича през централната правителствена WAN инфраструктура и затова нямаме пряк контрол върху междинните връзки. Просто казано: ние маршрутизираме IP от рутера на разрешителя и той стига до рутера на отдалечения ни сайт в тяхната мрежа. Това, което се случва между тях, е поредица от скокове и преходи от оптични, медни и радиовръзки.

Отделно от това, безжичното разгръщане вече е завършено в основния сайт на болницата и използва VLAN мрежи за разделяне на персонала (частни) и пациентски (обществени) SSID на точките за достъп в отделни защитни стени.

изискване

Болницата в съседния остров трябваше да бъде актуализирана, за да включва същото безжично решение като внедрено на местно ниво. Осигуряването на кабели, захранващи инжектори и безжични точки за достъп не би било проблем. Един кабел беше разположил нов Ethernet около сградата. Бюджетът за одобрени точки за достъп и PoE адаптери и закупени артикули.

проблем

Проблемът беше връщането на частните и търпеливи безжични канали обратно към централния сайт. Бихме могли да създадем нови подмрежи, но те ще се сближат при маршрутизатора и ще преминат през различните хмели по пътя обратно към централната ни мрежа. Това обаче ще означава, че „мръсните“ данни на пациента безжични ще преминават заедно с „чистите“ данни на нашата мрежа и биха представлявали голям риск. Вече бяхме елиминирали тези рискове, като внедрихме VLAN сепарация в централната мрежа, така че ако имаше само начин да се предават VLAN мрежи през IP маршрутизирана мрежа. За съжаление маршрутизаторите блокират така наречения трафик "Layer 2" и VLAN мрежите не могат да преминат през друга мрежа.

Освен това трябваше да избягваме нуждата от помощ от мрежовите служби на централното правителство, тъй като те имаха много по-строг контрол на промените и по-високо ниво на beauroucracies ... но по-малко казано за това!

Решение

Наскоро се появи интернет стандарт, пуснат под код RFC 3378 и по-известен като EtherIP, който осигурява перфектното решение на нашите изисквания - този за свързване на две Ethernet мрежи, обхващащи IP рутер връзка.

За щастие EtherIP е наличен в повечето отворени източници на операционни системи, включително FreeBSD, за който имам много знания в администрирането.

изпълнение

Ще ви трябват два компютъра, по един за всяка страна на разклонената връзка и двата ще се нуждаят от две мрежови карти. Една от мрежовите карти се свързва с локалната мрежа като обикновен компютър, с IP адрес, който да отговаря на подмрежата, в която се намира. Другата мрежова карта е свързана към порта на багажника на комутатор (в моя случай Cisco) и е това, което улавя мрежовия трафик на ниво Ethernet.

Направих основна инсталация на FreeBSD; няма дори нужда да се изтеглят портовете.

Компютър 1 (на локалния сайт) има Intel EtherExpress карта fxp0 с IP адрес 10.1.1.20 и em0 се използва за Ethernet порт.

Компютър 2 (на сайта на ремота) имаше карта Broadcom bge0 с IP адрес 10.15.1.20 и em0 се използва за Ethernet порт.

FreeBSD има виртуален мрежов интерфейс, наречен "gif", който създава тунел на Etherhet между две крайни точки. Gif0 мрежов интерфейс е създаден както на компютрите, така и ги свързва заедно през пренасочена IP връзка. Създадено е друго устройство за виртуална мрежа, наречено „мост“, което може да обхваща мрежовия трафик между сходни мрежови интерфейси, обикновено такива от Ethernet. Мрежовото устройство Bridge0 е конфигурирано да комбинира мрежовите интерфейси gif0 и em0 заедно. Това позволява на Ethernet данни, преминаващи в em0, да бъдат предавани към gif0 и (след преминаване през пренасочената IP връзка) към gif0 на отдалечения компютър и по-нататък към мрежовия интерфейс em0 на този компютър и накрая в мрежата там.

Това може да звучи по-сложно, отколкото всъщност е! Текстова диаграма ще изглежда така:

Мрежа - (Trunk Port) - em0 - gif0 - fxp0 - рутер - маршрутизирана IP връзка - рутер - bge0 - gif0 - em0 - (Trunk Port) - мрежа

Конфигурация

На превключвателя Cisco конфигурирайте интерфейс към режим на багажника:

интерфейс FastEthernet0 / 24
описание Връзка: EtherIP
Switchport подрязване на багажника vlan няма
багажник на режим на превключване
край

Това е порта, към който ще се свърже em0 (в моите компютърни системи). Същото е направено и на дистанционния превключвател, както и за съответния em0 на другия компютър.

Ако използвате устройство, което не е Cisco, ще трябва да активирате транкирането с помощта на специфични за доставчика методи.

На компютър 1 конфигурирайте FreeBSD както следва във /etc/rc.conf файла:

# - sysinstall генерирани делта - # пн ян 31 12:09:47 2011
# Създадено: пн ян 31 12:09:47 2011
# Активирайте мрежовите демони за удобство на потребителя.
# Моля, направете всички промени в този файл, а не в /etc/defaults/rc.conf.
# Този файл сега съдържа само отмените от /etc/defaults/rc.conf.
defaultrouter = "10.1.1.1"
хост = "etherip01.mydomain.com"
ifconfig_fxp0 = ”inet 10.1.1.20 мрежова маска 255.255.0.0 ″

# Конфигурация на EtherIP
cloned_interfaces = ”gif0 bridge0 ″
ifconfig_gif0 = ”тунел mtu 1500 10.1.1.20 10.15.1.20 нагоре”
ifconfig_bridge0 = "addm em0 addm gif0 up"
ifconfig_em0 = "нагоре"
################

клавиатурна подредба = "uk.iso"
sshd_enable = "YES"

На компютър 2:

# - sysinstall генерирани делти - # Thu Feb 3 11:20:45 2011
# Създадено: Чт 3 февруари 11:20:45 2011
# Активирайте мрежовите демони за удобство на потребителя.
# Моля, направете всички промени в този файл, а не в /etc/defaults/rc.conf.
# Този файл сега съдържа само отмените от /etc/defaults/rc.conf.
defaultrouter = "10.15.1.1"
хост = "etherip02.mydomain.com"
ifconfig_bge0 = ”inet 10.15.1.20 мрежова маска 255.255.0.0 ″

# Конфигурация на EtherIP
cloned_interfaces = ”gif0 bridge0 ″
ifconfig_gif0 = ”тунел mtu 1500 10.15.1.20 10.1.1.20 нагоре”
ifconfig_bridge0 = "addm em0 addm gif0 up"
ifconfig_em0 = "нагоре"
################

клавиатурна подредба = "uk.iso"
sshd_enable = "YES"

Обърнете внимание, че IP адреси на тунела gif0 са обърнати между компютър 1 и компютър 2. Тези IP адреси са тези на интерфейса на локалната мрежа. В моя случай FreeBSD компютрите не действат като рутери по периметъра, но също толкова лесно могат да бъдат с трета мрежова карта. Не ми трябваше тази допълнителна сложност, тъй като IP маршрутизирането вече беше достъпно в мрежите за здраве и централно управление.

Резултати

Превключвателят в отдалечения сайт беше конфигуриран като VTP клиент и незабавно се присъедини към VLAN домейна на централната мрежа (понятие Cisco, не свързано с Microsoft) и издаването на командата „show vlan“ разкри, че всички VLAN на централната мрежа са се разпространявали навсякъде. Освен това издаването на командата „show cdp sosed“ разкри, че както централните, така и отдалечените комутатори могат да се виждат, сякаш са свързани директно помежду си.

Надяваме се, че това ръководство може да бъде от полза за всички онези, които са изтощили Google от търсения за тази информация (знам, че опитах и ​​аз!). Необходимостта наистина е майката само да го измислиш ... и сега, не е нужно!

Могат да се свържат с мен по различни начини, подробно описани на страницата ми за контакти.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me