当前位置:Gxlcms > Python > 用Python开发简单的VPN服务器原理是怎样的?

用Python开发简单的VPN服务器原理是怎样的?

时间:2021-07-01 10:21:17 帮助过:985人阅读

跑步时脑洞一开,想到要自己写一个简单的VPN服务器,搜了一下,有很多现成的库或组件,但是好奇于如果要自己用Python开发,可以怎样实现?

回复内容:

如果只是实现一个简单的VPN,个人使用,的确非常简单。代码量最多几百行。
因为现在各大操作系统内核都已经内置TUN/TAP 支持,应用层通过相应接口就可以非常容易的建立点对点的tunnel,并生成虚拟网卡。之后通过iptables之类的工具设置好系统数据转发就OK了。基本现在的VPN也都是这样实现。


关于TUN/TAP:
zh.m.wikipedia.org/wiki


一个非常简单的Linux C实现版本:
github.com/cloudwu/mptu
Python 实现类似,基本流程无外乎是打开 /dev/net/tun 操作 TUN 接口,TCP或者UDP之类建立数据转发通道转发数据。

人气教程排行