Як вже написано @slm, інтерфейс TUN - це програмне забезпечення, яке емулює мережевий інтерфейс таким же, як і TAP-інтерфейс. На практиці інтерфейс TUN - це емуляція інтерфейсу рівня 3 . Тобто це пристрій емуляції мережевого рівня, який може тунелювати пакети даних різного характеру, будь то необроблені TCP, UDP, SCTP або інкапсульовані пакети, такі як PPP, PPTP, AH / IPSEC, будь-яке інше. З іншого боку, інтерфейс TAP - це емуляція інтерфейсу рівня 2 , тобто це пристрій емуляції зв'язку даних, який може працювати як необроблений Ethernet, Arcnet, токенове кільце тощо.
Це має різні практичні наслідки. Наприклад, розробляючи брандмауер, якщо ви хочете створити внутрішню мережу NATED з адресами, що не мають маршрутизації, ви використовуєте інтерфейси TUN для створення моста фільтрування. Якщо у вас є набір загальнодоступних IP-адрес, які ви можете призначити внутрішнім хостам, але все ще хочете брандмауер весь трафік, ви використовуєте TAP-інтерфейси для емуляції мосту Ethernet, за яким фільтрувати пакети даних. Це, btw, є основою того, що називається "прозорим брандмауером".