IP-туннель (VPN) с tun-интерфейсом на Python
https://youtu.be/tgXV1h_YMu4
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
2 years ago | |
---|---|---|
test | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 2 years ago | |
config_client.json | 3 years ago | |
config_server.json | 3 years ago | |
main.py | 3 years ago |
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_server
sudo ./test/tunnel_client
sudo ./test/http_server
Тестирование
Выполнение команды sudo ./test/curl
должно вывести на экран сообщение
Hello, World!
. Это означает, что HTTP-запросы передаются по нашему туннелю.
Завершение
Завершите каждый из процессов, висящих в открытых окнах терминала, с помощью
сочетания клавиш Ctrl+C (иногда может потребоваться несколько нажатий).
Затем выполните команду sudo ./test/cleanup
для удаления namespace'ов.