前段时间,我写了一篇关于open***设置与内网机器通信的文章。文章是基于服务器的单个网卡进行配置的。文章的链接是Mud:open***tun模式下客户端与内网机器之间的通信。
在本文中,我们将介绍具有双网卡的open***客户机与内部网机器之间的通信配置。
一、需求描述
为什么要写开放***双卡的配置?
但是IDC机房一般提供多网卡服务器,现在流行的云服务器阿里云提供双网卡,腾讯云和亚马逊aws是单网卡。每个云服务器提供商的网卡配置数量如下:
二。业务需求
目前IDC机房有一台服务器,配置了双网卡,一个配置公网IP(173.33.141.50),一个配置内网IP(10.10.1.17)。另外,出于安全考虑,本IDC机房的其他服务器配置在内网的IP10.10.1.0/24网段。
现在要求很简单。通过服务器a管理内网的其他服务器。
三。解决方案
为了满足以上要求,我们可以在服务器A上设置open***服务,然后客户端可以用这个open***服务器作为跳板来管理内网服务器。
open***的建设很简单。可以参考这篇文章《Mud:在ubuntu14.04中构建开放的XXX服务器》。
这里的一个困难是客户机和内部网服务器之间的通信。
Open***客户端与内部网服务器通信。如果是单网卡,我们只需要按照“Mud:Client以open***tun模式与内网机器通信”这篇文章就可以了。
那么如何配置服务器双网卡呢?
其实双网卡的配置和单网卡差不多,需要修改open***service的配置文件,配置iptables规则。只是iptables规则变了。让我们实际配置它。
四。开放**具体配置
打开***服务配置文件如下:
grep-ve'^;|^$|^#'/etc/open***/server.conf
端口1194
原型tcp
devtun
caca.crt
certilanni.crt
keyilanni.key#这个文件应该保密
dhdh2048.pem
服务器10.8.0.0
ifconfig-pool-persistipp.txt
推送“路由10.10.1.0255.255.255.0”
推送“DHCP-选项DNS223.5.5.5”
客户端对客户端
重复-cn
保活10120
比较lzo
持久键
持续调谐
状态打开***-status.log
日志打开***。原木
动词3
在上面打开的***服务配置文件中,命令push“route10.10.1.0255.255.255.0”必须可用,这是推送到客户端的路由配置。
五.IPtables配置
配置完open***,我们现在开始配置open***服务器的IPtables规则。
现在服务器的网卡配置如下:
命令
从上图我们可以看到,网卡em2是和内网通信的。我们现在要做的是将open***客户端(10.8.0.0/24)请求的所有数据发送到伪装成网卡em2(10.10.1.17)的10.10.1.0/24网段。也就是说,你需要在iptables上做一个NAT规则。
该命令如下所示:
iptables-tNAT-Apostrouting-s10.8.0.0/24-oem2-jSNAT到源10.10.1.17
iptables-nL-tnat
上面的命令意味着所有来自10.8.0.0/24网段的请求都伪装成10.10.1.17的IP地址,然后通过网卡em2发出去。
您也可以直接修改iptables的配置文件,如下所示:
-A后路由-s10.8.0.0/24-oem2-jSNAT至源10.10.1.17
然后重新加载iptables规则。
如果是centos系统,使用/etc/init.d/iptablesrestart命令直接重启iptables。
如果是ubuntu系统,使用sudoiptables-restore/home/Ubuntu/iptables.rule。
六。测试通信
在配置了open***服务和iptables规则之后,现在我们切换到客户端进行测试。
客户端连接到open***服务器,如下所示:
打开***-config连州。
从上图中,我们可以清楚地看到,客户端已经正确连接到open***服务器,并获得了10.8.0.6的IP地址。
现在让我们测试它与10.10.1.0/24网段的连通性,如下所示:
平10.10.1.12
从上图中,我们可以清楚地看到,客户端可以与10.10.1.12正常通信。
现在让我们尝试连接下一台10.10.1.12机器,如下所示:
telnet10.10.1.1222
从上图中,我们可以清楚地看到,客户端已经可以连接到服务器10.10.1.12。
如果客户端在连接到intranet服务器时出现以下错误提示:
telnet:无法连接到远程主机:没有到主机的路由
通常,这是由于open***服务器的iptables规则不正确造成的。建议使用iptables–f命令清除iptables规则,并保留nat规则以便调试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)