网络单向通信

目前很多软件都是基于一个C/S或B/S架构的,像公司的产品就是杀毒产品,在每个pc上都要安装客户端,然后有一个统一的Server端,用来下发策略以及查看各个终端的事件。

但是在企业级用户中,会经常发现,企业更喜欢是将所有的PC终端都放在内网中,而Server放在可以连接外网的网络中,而且只有Agent可以访问Server,Server不能主动连接Agent。这就需要一个单向通信的原理了。之前本人很愚钝,不知道如何构建一个这样的环境。在这里,我简单的画一个图从而来说明这一点。

企业中常用的方式就是

1.Agent1和Agent2都在内网中,网络互通,可以访问Server.

2.Server可以访问互联网,但是不可以连接Agent。

如果是以上的一个网络拓扑,那么需要在路由器A和路由器B上修改路由表。

 路由器A上的路由表是

    

目的网络地址子网掩码默认网关接口
192.168.96.0255.255.255.0 黄色口
192.168.100.0255.255.255.0 橙色口
0.0.0.00.0.0.0192.168.96.2黄色口

 

这里可能有点问题,就是默认网关可以设置成路由器上的某个端口ip么,为了就是不让Agent上外网。

并且路由器A上需要做SNAT,即192.168.100.0/24的网址出网后都映射为192.168.96.2

  路由器B上的路由表

目的网络地址子网掩码默认网关接口
192.168.96.0255.255.255.0 黄色口
0.0.0.00.0.0.0184.23.24.2橙色口

通过上面的网络拓扑

  Agent1和Agent2通过在2层进行通信,而它们的默认网关为192.168.100.1,如果Agent1和Agent2需要访问Server,即192.168.96.3,则会发送到默认网关192.168.100.1,然后再路由器A上进行路由,选择从黄口出,在从黄口出去之前,将进行SNAT,即将包的源ip改成192.168.96.2,并记录该映射。然后再经2层交换,到达Server。同样Server收到请求后,回复响应的时候,会将包发送到192.168.96.2。然后路由器再将目的地址替换为192.168.100.0/24,最后到达Agent。这样就实现Agent到Server的通信。

而Server想访问Agent。因为Agent的地址为192.168.100.0/24网段,如果server直接访问该ip,则会通过默认网关发送到Internet中,最后ttl达到上限而失败。所以Server无法访问Agent.

这样大概就实现了一个内网中单向通信的场景。

如有不对的地方,希望各位提出,小弟萌新,请勿喷。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值