Цитата:
|
Как я понял, всё проходит нормально, кроме того, что устройство tun0 не найдено. Модуль tun стоит. Как создать/заставить работать/проверить работает ли это устройство?
|
Предполагаю, что необходимо создать tun0. Например, как это описано на
http://eciadsl.flashtux.org/faq.php?lang=en
mkdir /dev/net
mknod /dev/net/tun0 c 10 200
ln -s /dev/net/tun0 /dev/net/tun
Теперь же собственно к вопросу о tun. Этот псевдоинтерфейс или псевдоустройство используется для создания туннелей - механизма, позволяющего виртуально соединить две сети поверх третьей, назовем ее транспортной. Например, есть корпоративная сеть, есть компьютер дома, есть пров и Интернет, к которому подключен домашний комп. Что бы все (ну почти все) ПО считало, что он включен непосредственно в корпоративную сеть, организуется туннель поверх сети прова, поверх других сетей до граничного устройства корпоративной.
Tun0, tun1 и пр. инстансы используются как виртаульные сетевые интерфейсы (наподобие eth0), логически включенные в удаленную сеть. При этом происходит "проброска" ip пакетов, т.е. прямое подключение в IP-сеть.
Внутри происходит интересный процесс, который заключает в том, что IP-пакеты, предназначенные для удаленной сети заворачиватся в пакеты транспортной сети как данные. Этот процесс называется инкапсуляцией.
Есть еще туннельные устройства tap, которые в отличие от tun, связывают сети на уровне ethernet, т.е. предназначены для "проброски" ethernet фреймов.
Очевидно, что сами по себе эти устроства (tun или tap) работать не будут, собственно туннелирование должно быть обеспечено реализацией соответствующих протоколов. Примеры протокола для организации такого - PPPoE, который позволяет установить соединение по протоколу PPP между устройстваим поверх Ethernet.
За деталям использования tun рекомендую обратиться к непосредственной документации. Вопрос же о туннелях очень обширен и относится не столько к тематике Linux, сколько к технологиям построения сетей передачи данных
Дополнения и исправления к изложенному приветствуются.