本文首发于muddyworld
在前两篇文章中,我们介绍了open***的构造和配置文件的说明。在本文中,我们将讨论open***客户机如何在tun模式下与内部网机器通信。
一、实际问题
先介绍一下目前的基本情况,如下:
1.open***服务器有单网卡,open***服务器的1194端口通过硬件防火墙映射到公网。
2.open***服务器的网段是192.168.5.1/24。
3.open***客户端获取IP地址为10.8.0.1/24的网段。
要求10.8.0.1/24网段可以访问192.168.5.1/24网段的服务器。
通过前两篇可以看出,我们目前的open***客户端可以正常连接open***服务器,但是无法正常与公司内网的其他机器进行通信。如下所示:
如果open***服务器使用tap桥接模式,这个问题就可以轻松解决。只需要在open***服务器端修改open***配置文件server.conf,将内网的IP地址段推送到客户端即可。
但目前我司使用的是tun模式,需要通过其他方式解决。
其实要解决这个问题,我们只需要以下两步就可以解决这个问题。
第一步:修改open***配置文件,将192.168.5.1/24网段的路由推送给客户端。(这一步可以省略)
第2步:配置IPtables规则。
注意:以上两步可以不进行第一步,但是配置IPtables规则这一步一定是必不可少的。否则,客户端无法与内网机器正常通信。
下面我们将详细介绍这两个步骤的 *** 作。
二。打开***服务器配置
在《Mud:open***配置文件详解》一文中,我们详细介绍了关于open***的server.conf配置文件。我们现在要做的是将192.168.5.1/24网段路由推送到客户端。具体配置如下:
推送“路由192.168.5.0255.255.255.0”
修改后,我们必须重启打开***如下:
sudo/etc/init.d/open***restart
关于open***,需要修改的配置实在太多了。让我们开始配置IPtables规则。
三。配置IPtables规则
现在我们开始配置IPtables规则。我们需要做的就是通过open***服务器的eth0网卡转发所有来自10.8.0.1/24网段的请求,也就是我们通常所说的IPtables的NAT规则。
注意:IPtables规则是在open***服务器上配置的,而不是在open***客户端上。
IPtablesNAT规则如下:
sudoiptables-tNAT-Apostrouting-s10.8.0.0/24-oeth0-j伪装
sudoiptables-nL-tnat
以上修改完成后,我们启动open***客户端,看看是否能与192.168.5.1/24网段机器通信。
四。测试网段之间的通信
在open***客户端ping192.168.5.1/24网段机器,如下所示:
平192.168.5.140
远程登录192.168.5.422
从上面两个图我们可以看到,现在open***客户端与内网机器通信正常。
以上是open***tun模式下客户端与内网机器通信的配置过程。
在实际使用open***,我们可能会遇到以下问题,然后我们给出相应的open***配置。
V,××××的配置
有时候为了出国访问,我们会买国外的服务器,建open***然后用这个服务器做XXX。
在open***配置中,我们只需要打开open***服务器的server.conf配置中的push“redirect-gatewaydef1bypass-DHCP”项。如下所示:
按下“重定向-网关定义1旁路-dhcp”
此时打开***客户端拨号后,会发现该IP已经在国外。如下所示:
从上图我们可以清楚的看到现在的IP地址是国外的。具体怎么用,你懂的,呵呵。
六。打开***客户端linux引导问题
由于项目要求,在打开服务器时,需要连接远程open***服务器。如果是简单的windows系统,配置一下就可以了。
在linux系统下,只需要将open***客户端连接open***服务器的命令写入/etc/rc.local文件中。如下所示:
cat/etc/rc.local
但是,需要特别注意的一点是,对于从属CA证书、客户端证书和客户端密钥文件,open***客户端的配置文件必须写为绝对路径,而不是相对路径,如下所示:
如果同时是centos系统,则不得配置为引导/root/目录中的open***客户端连接到open***服务器。
因为经过多次测试,无法打开open***客户端,连接open***服务器。
七。将IP地址分配给客户端
有时,出于实际项目的需要,需要为客户端指定IP地址。您可以通过修改open***服务器的配置来满足这一要求。
只需在server.conf文件中打开client-config-dirccd,然后在/etc/open***目录中创建ccd目录。如下所示:
然后,在ccd目录下根据不同的客户端创建相应的文件,并在文件中写入以下内容:
ifconfig-推送10.8.0.200
上面的意思是将客户端的IP地址指定为10.8.0.200。
现在我们重启open***服务器,然后客户端连接。如下所示:
从上图中,我们可以清楚地看到。客户端获得的IP地址确实是10.8.0.200。
PS:以上执行是在linux系统上。经过测试发现,在windows下,如果将IP地址分配给客户端,会报错。猜测这可能是一个BUG。
“51cto10th周年博客活动”正在进行中。请来加入我们吧~活动地址:http://51ctoblog.blog.51CTO.com/26414/1679643
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)