IP-туннель (VPN) с tun-интерфейсом на Python
https://video.causa-arcana.com/w/aNKNZazbkRAq9WGuhb2Cd9
| test | ||
| .gitignore | ||
| config_client.json | ||
| config_server.json | ||
| LICENSE | ||
| main.py | ||
| README.md | ||
IP-туннель (VPN) с tun-интерфейсом на Python
Данный код был написан в рамках трансляции (https://www.youtube.com/watch?v=tgXV1h_YMu4).
Тестирование
Для тестирования используются Linux network namespaces и простой HTTP-сервер, чтобы убедиться, что туннель работает.
Подготовка
Команда sudo ./test/prepare создаст network namespaces и мост между ними.
Запуск туннеля и HTTP-сервера
Каждую из этих команд нужно запустить в отдельном окне терминала и не прерывать.
sudo ./test/tunnel_serversudo ./test/tunnel_clientsudo ./test/http_server
Тестирование
Выполнение команды sudo ./test/curl должно вывести на экран сообщение
Hello, World!. Это означает, что HTTP-запросы передаются по нашему туннелю.
Завершение
Завершите каждый из процессов, висящих в открытых окнах терминала, с помощью
сочетания клавиш Ctrl+C (иногда может потребоваться несколько нажатий).
Затем выполните команду sudo ./test/cleanup для удаления namespace'ов.