Бележки за мрежов мост
Вероятно мнозина са забелязали - в Windows има такова нещо - като организирането на мрежов мост. Избират се две мрежови карти и се получава един мрежов мост отдолу. Изглежда, че кабелът с усукана двойка от първата мрежова карта е усукан заедно с кабела с усукана двойка от втората мрежова карта. И всичко работи чудесно. Но това е само въведение, нека се опитаме да разберем как работи.
Мрежовият мост изпълнява същата задача, само че вместо различни компютри действат самите мрежови интерфейси.
Представете си следа. Снимка: Има компютър, който има 4 мрежови интерфейса. Освен това не е необходимо мрежовият интерфейс да е мрежова карта, лесно може да бъде виртуален интерфейс. Сега нека добавим виртуален комутатор:
bridge0 - това е нашият мрежов мост. Като обикновен превключвател, той превключи 4 различни възела върху себе си.Сега нека се опитаме да приложим тази теория, за да разрешим този проблем: 1. Има сървър за достъп, единият интерфейс е свързан към интернет, вторият - към нашата LAN; 2. Има отдалечен клиент, който трябва да осигури достъп до LAN ресурси; 3. Клиентът в LAN трябва да изглежда така - думата е свързана към LAN ethernet сегмента.
И така, само няколко забележки. За свързване на клиенти - използва се OpenVPN. Защо? Лесен за настройка, криптиран трафик и съществува за различни платформи. Как да инсталирате и конфигурирате OpenVPN е извън обхвата на тази статия. Нека просто се съгласим с факта, че работи и клиентите се свързват с виртуалния интерфейсtap2. Също така си струва да се отбележи, че на сървъра за достъп работи защитна стена (pf), но повече за това по-късно. Сървърът също така има мрежов интерфейсvlan102, който е свързан към нашата LAN, интерфейсvlan101- който е свързан към интернет.
ще донесачертеж на физическа топология:
Логическа топология:
Както можете да видите, интерфейсътtap2и мрежатаVPNса добавени.Сега нашата задача е да комбинираме две мрежи,LANиVPN. Използвайки знанията си за мрежовите мостове, нека се опитаме да го скицираме: Както можете да видите, в нашия сървър създадохме мрежов мостbridge0, където свързахме нашите две мрежи, които трябва да бъдат превключени.
Нека подготвим мрежовия мост, за това трябва да заредите модула if_bridge:
Нека създадем нашия мост:
Обърнете внимание на думата "нагоре" в края. По подразбиране мостът се създава в забранено състояние. "нагоре" - просто го включва (аналогия със захранващия кабел на ключа).
Супер, пакетите стигат до нас. Сега да видим дали пакетите минават през мрежовия мост:
Добре, има пакети. Проверете дали има пакети на интерфейсLAN:
Но няма пакети ... И така, установихме, че пакетите не преминават през мрежовия мост. Бърз поглед към човека if_bridge разкрива:
Когато филтрирането е активирано (което е активирано по подразбиране), пакетът се преминава по веригата на входящия интерфейс -> мрежов мост -> изходящ интерфейс. Можем да кажем, че имаме не само L2 превключвател, а пълноценен с L3 филтриране. Разрешаваме преминаването на пакети в защитната стена по следния маршрут:
и отново гледаме какво се случва в нашия превключвател:
Супер, всичко работи както трябва. Но опцията - да се правят изключения от защитната стена за всеки клиент - не е точно това, което искахме. Нека се опитаме да направим добър стар L2 от нашия превключвател L3. man if_bridge казва за това: - филтриране на интерфейсите на мрежовия мост (в този случай това саvlan102иtap2) и: - филтриране на самия мрежов мост (в нашия случайbridge0). Това, от което се нуждаем, превръщаме го в глупав превключвател L2 с две команди:
И проверете какво се е случило:
Пакетите летят и в двете посоки.
Надявам се тази бележка да внесе известна яснота в разбирането на мрежовия мост във FreeBSD :)