vtun 守护进程详解

声明:转载注明出处!

image

注:

1、 PID文件

the pid files contains the process id (a number) of a given program. For example, Apache HTTPD may write it's main process number to a pid file - which is a regular text file, nothing more than that -, and later use the information there contained to stop itself. You can also use that information (just do a cat filename.pid) to kill the process yourself, using kill <the number in the .pid file>

vtun的pid文件不是必须的?

2、 守护进程

根据守护进程的启动和管理方式,可以分为独立启动守护进程和超级守护进程两类

独立启动(stand_alone):该类进程启动后就常驻内存,所以会一直占用系统资源。其最大的优点就是它会一直启动,当外界有要求时相应速度较快,像httpd等进程;
超级守护进程:系统启动时由一个统一的守护进程xinet来负责管理一些进程,当相应请求到来时需要通过xinet的转接才可以唤醒被xinet管理的进程。这种进程的优点时最初只有xinet这一守护进程占有系统资源,其他的内部服务并不一直占有系统资源,只有数据包到来时才会被xinet管理员来唤醒。并且我们还可以通过xinet来对它所管理的进程设置一些访问权限,相当于多了一层管理机制。

如果用两个比喻来形容两类守护进程的话一般会用银行的业务处理窗口来类比:
独立启动:银行里有一种单服务的窗口,像取钱,存钱等窗口,这些窗口边上始终会坐着一个人,如果有人来取钱或存钱,可以直接到相应的窗口去办理,这个处理单一服务的始终存在的人就是独立启动的守护进程;

超级守护进程:银行里还有一种窗口,提供综合服务,像汇款,转账,提款等业务;这种窗口附近也始终坐着一个人(xinet),她可能不提供具体的服务,提供具体服务的人在里面闲着聊天啊,喝茶啊,但是当有人来汇款时他会大声喊一句,小王,有人汇款啦,然后里面管汇款的小王会立马跑过来帮忙办完汇款业务。其他的人继续聊天,喝茶。这些负责具体业务的人我们就称之为超级守护进程。当然可能汇款人会有一些规则,可能不能往北京汇款,他就会提早告诉xinet,所以如果有人来汇款想汇往北京的话,管理员就直接告诉他这个我们这里办不到的,于是就根本不会去喊汇款员了,相当于提供了一层管理机制。针对这种窗口还存在多线程和单线程的区别:多线程:将所有用户的要求都提上来,里面的人都别闲着了,都一起干活吧;单线程:大家都排好队了,一个一个来,里面的人同一时间只有一个人在工作。

这里需要注意的是超级守护进程的管理员xinet也是一个守护进程,只不过它的任务就是传话,其实这也是一个很具体很艰巨的任务哦。

当然每个守护进程都会监听一个端口(银行窗口),一些常用守护进程的监听端口是固定的,像httpd监听80端口, sshd监听22端口等;我们可以将其理解为责任制,时候等待,有求必应。具体的端口信息可以通过cat /etc/services来查看。

clip_image002clip_image004

结合vtun,这里的独立启动守护进程和超级守护进程是针对server的,当是独立启动守护进程时,server端的套接字创建、监听、绑定、接受和读写等操作和平时编程一样。当server是超级守护进程时,由系统(相当于server端的父进程)进行监听,然后复制套接字描述符到0、1、2,server端对0 、1、2描述符的操作就是对该套接字的操作。

Server端建议用独立启动守护进程或者干脆不建立守护进程。

参考:http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html

转载于:https://www.cnblogs.com/helloweworld/archive/2012/09/25/2702989.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vtun 是一种用于创建虚拟私有网络(VPN)的软件,可以在 Linux 系统上进行部署。下面是基本的部署步骤: 1. 安装 vtun 使用以下命令在 Linux 系统上安装 vtun: ``` sudo apt-get install vtun ``` 2. 创建配置文件 在 /etc/vtund.conf 目录下创建一个名为 vtun0 的配置文件。配置文件内容如下: ``` options { uid = 0; gid = 0; } default { compress = yes; keepalive = 60; persist = yes; logfile = /var/log/vtun.log; } vtun0 { type = tun; bind = 192.168.0.1; port = 5000; proto = tcp; upscript = /etc/vtund.up; downscript = /etc/vtund.down; secret = mysecretpassword; link-mtu = 1500; cipher = blowfish; key = mysecretkey; auth = sha1; peer { name = vtun1; hostname = 192.168.0.2; port = 5000; proto = tcp; secret = mysecretpassword; link-mtu = 1500; cipher = blowfish; key = mysecretkey; auth = sha1; } } ``` 其中,bind 和 hostname 分别为双方 VPN 连接的 IP 地址,secret 为共享的密码,key 为加密数据的密钥。 3. 创建脚本文件 在 /etc 目录下创建一个名为 vtund.up 的脚本文件,内容如下: ``` #!/bin/sh /sbin/ifconfig $1 192.168.0.1 pointopoint 192.168.0.2 ``` 再创建一个名为 vtund.down 的脚本文件,内容如下: ``` #!/bin/sh /sbin/ifconfig $1 down ``` 4. 启动 vtun 使用以下命令启动 vtun: ``` sudo vtund -c /etc/vtund.conf ``` 5. 验证连接 在另一台机器上使用同样的配置文件连接,使用以下命令: ``` sudo vtund -c /etc/vtund.conf -n vtun1 ``` 可以使用 ping 命令验证连接是否成功。 这是 vtun 的基本部署步骤,可以根据需要进行配置调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值