Vesselin Kolev wrote:
Само да се допълня, за да изправаря въпрос. Не знам каква дистрибуция използваш, но ако използаш Redhat, Fedora, SuSE или Mandrake, не е нужно да описваш вдигането на VLAN интерфейса в rc скриптовете. Има по-подреден и далеч по-систематизиран начин за да направиш това.Разумен въпрос.
VPN е цялостно техническо решение, което прави една мрежа частна (тунели, удостоверяване, криптиране в хода на преноса и т.н..). Под частна разбирай отделена от останалите мрежи в Интернет, но съществуваща в Интернет и благодарение на Интернет (много погрешно по някога VPN се нарича несвързана физически с Интернет мрежа или такава, която е маскирана/SNAT). VLAN е етернет надстройка (виртуална локална мрежа). Накратко (е, малко неточно, но само образно може да ти служи за илюстрация) при VLAN целта е в една преносна среда да имаш повече от една LAN мрежи. За целта се използва маркер в хедъра на пакета, чрез който се казва към кой номер LAN принадлежи той. Интерфейсите в средата имат селективност относно маркера и знаят кой пакет към кой VLAN принадлежи и така се осъществява комуникация с рамките на един VLAN. Съществуват суичове за управление на достъпа между отделните портове на базата на маркера. Изниква въпросът "защо да са упавляеми въпросните суичове". Ако те са неуправляеми, в рамките на един сегмент, всеки оператор може да сложи какъвто си иска маркер на интерфейса и да стане член на произволен VLAN. От съображения за сигурност това не е желателно. VLAN може да подлежи и на бриджиране. Чрез VLAN можеш да градиш VPN, но сам разбираш, ограничен върху етернет. Ако искаш да направиш VPN решение, което се простира цялостно в Интернет, VLAN няма да ти помогне с нищо за глобалния пренос. Там на помощ идват тунелните технологии за пренос, удостоверителни механизми за контрол на достъпа и др.
Ако ти е интересно можеш да прегледаш инструменти като vconfig и ebtables. С тях може да се прави управление на VLAN, включително и бриджиране.
Поздрави Весо
Отвори /etc/sysconfig/network и добави на нов ред:
VLAN=yes
Това се прави за да може, когато се изпълни init скрипта network, да се зареди модула 8021q (провери дали имаш компилирана като модул поддръжка).
За да изградиш интерфейс създай файл ifcfg-ethX.VLAN_ID в /etc/sysconfig/network-scripts/. За пример: ifcfg-eth0.280. Във файла слагаш следната информация:
DEVICE=eth0.280 BOOTPROTO=static BROADCAST=192.168.111.255 IPADDR=192.168.111.2 NETMASK=255.255.255.0 NETWORK=192.168.111.0 ONBOOT=no REORDER_HDR=no
Разбира се, сложи си твоите IP адреси. Внимавай с полето REORDER_HDR. То съответства на изпълнението на vconfig с опция set_flag. Ако стойността е "yes" се задава 1, ако е "no" се задава нула. Малко повече:
set_flag [vlan-device] 0 | 1
When 1, ethernet header reorders are turned on. Dumping the
device will appear as a common ethernet device without vlans.
When 0(default) however, ethernet headers are not reordered,
which results in vlan tagged packets when dumping the device.
Usually the default gives no problems, but some packet filtering
programs might have problems with it.
Голямо удобство при такава схема с управление чрез самостоятелни файлове е, че можеш да направиш файл, в който да се съдържат специфични записи, които да се добавят след като интерфейса се вдигне и да се махат след като той се свали. Ако правиш директно записи в rc файловете ще се затрудниш много, а има и по-голяма вероятност за допускане на грешки. Следвайки горния пример, аз ще създам файл /etc/sysconfig/network-scripts/route-eth0.280. В него ще опиша маршрут следвайки синтаксиса на iproute2, но слагайки само частта след "ip route add". Примерно мрежа 192.168.5.0/24 се достъпва през 192.168.111.45. Във файла /etc/sysconfig/network-scripts/route-eth0.280 се прави записа:
192.168.5.0/24 via 92.168.111.45
което е аналог на
ip route add 192.168.5.0/24 via 92.168.111.45 dev eth0.280
Сега ако изпълниш
ifup eth0.280
първо ще се изгради интерфейса eth0.280, а след това ще се добави маршрута от файла route-eth0.280. Ако направиш
ifdown eth0.280
то интерфейса eth0.280 ще се "свали" и ще бъде изчистен маршрута прибавен от route-eth0.280 (самото изчистване няма да стане от някакъв скрипт, а просто маршрута отпада автоматично, защото интерфейса с който той е асоцииран вече го няма).
Ако искаш при старт на системата автоматично да ти се изгражда въпросния интерфейс, във файла ifcfg-eth0.280 запиши:
ONBOOT=yes
Дано играта с VLAN ти хареса:)
Поздрави Весо
============================================================================ A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html ============================================================================