怎么实现两个网段的联通,两种情况

本文介绍了如何实现不同私有网段(如10.70.48.250和172.22.68.***)的联通,包括直接连通(静态路由)和NAT网关的三种转换方式(静态、动态、端口多路复用)。重点讨论了NAT的优缺点和安全性问题。

一、背景

最近在公司做一个平台项目,存在公司内网的两个网段的服务器和客户端的互联。例如服务器IP:10.70.48.250和多台客户端IP 172.22.68.***。
由于服务端需要使用客户端的IP地址来作为标识,这样方便从服务端存储的异常客户端的IP快速查找到对应的客户端,从而查看其本地日志。这就需要服务端能获取到的客户端的IP唯一了。

我以往没出现过这种内网网段不同的情况,按照之前的开发外网服务器的情况,因为服务器获取到的实际上是客户端的外网IP,又因为外网IP实际上很有限。所以我们家里的电脑基本都没有独享的外网IP,而是通过(同一个局域网的用户)共用同一个外网IP。

所以我就类比这种情况 ,以为,10.70.48.250上的服务器接受到的来自客户端的请求会是IP为网段10.***下面的。

实际上,10.70.48.250的机器上是可以直接ping通172.22.68.××下面的机器的。我网上查了一下,找到了原因。

一、两个网段的连通实现

首选,172和10网段都是私有IP,也就是非公网IP是大家局域网下都可以使用的IP段。那么如果两个局域网172和10。直接想实现互联,有两种方式。

1.直接连通(也就是172和10的机器能相互ping通)

这种方式是使用的网关,做静态路由。
比如,这篇文章的案例一(如下图)
在这里插入图片描述
要实现pc1和pc2的互通,实际上就是在R1上,设置静态路由,设置IP192.168.1.0,子网掩码255.255.255.0、网关192.168.0.100。
这样设置之后,的那

<think>我们有一个需求:配置VLAN间单向通信,允许VLAN2访问VLAN3,但禁止VLAN3访问VLAN2。 在交换机上,我们可以通过ACL(访问控制列表)来实现单向访问控制。具体步骤如下: 1. 创建两个ACL: - 一个ACL用于允许VLAN2访问VLAN3,同时拒绝VLAN3访问VLAN2(但ACL是单向的,所以我们需要在接口上应用方向) - 注意:ACL的规则是自上而下匹配,一旦匹配就执行,不再继续。 2. 在VLAN3的接口(Vlan-interface3)上应用ACL,方向为入方向(inbound),这样当数据包进入VLAN3接口时,就会根据ACL规则进行过滤。 3. 设计ACL规则: - 规则1:允许来自VLAN2(源IP为VLAN2网段)访问VLAN3(目的IP为VLAN3网段)的数据包通过。 - 规则2:拒绝来自VLAN3(源IP为VLAN3网段)访问VLAN2(目的IP为VLAN2网段)的数据包。 - 规则3:允许其他所有流量(如果不加,默认会拒绝所有,可能会影响其他通信)。 但是注意:由于ACL在接口入方向应用,只能过滤进入该接口的流量。因此,我们在VLAN3接口的入方向应用ACL,可以过滤从其他接口进入然后从VLAN3接口出去的数据?实际上,我们更应该在VLAN接口上直接应用,控制进入该VLAN的流量(即目的地址是该VLAN的流量)或者从该VLAN发出的流量(源地址是该VLAN的流量)。但是,为了实现单向访问,我们可以在VLAN3的接口入方向应用一个ACL,这个ACL检查数据包的源IP和目的IP,从而实现控制。 然而,更常见的做法是在两个VLAN的网关接口上应用ACL,但这里我们只需要控制从VLAN3到VLAN2的流量,所以我们可以: 在VLAN3接口的入方向(inbound)应用ACL,过滤掉源地址是VLAN3网段且目的地址是VLAN2网段的包(即VLAN3主动访问VLAN2的包),同时允许其他包通过(包括VLAN2访问VLAN3的包)。 但是,请注意:VLAN2访问VLAN3的包,是从VLAN2接口进入,然后从VLAN3接口出去。当包从VLAN3接口出去时,我们不会在VLAN3接口的入方向ACL中检查(因为那是进入交换机的包,而VLAN3接口的入方向是指从交换机外部进入VLAN3接口的包,即从VLAN3网段发往交换机的包)。因此,我们需要换个思路。 实际上,在H3C交换机上,我们通常在VLAN接口上应用ACL来控制经过该VLAN接口的流量。为了实现VLAN3不能访问VLAN2,我们可以: 在VLAN3接口的出方向(outbound)应用ACL,拒绝源是VLAN3网段,目的是VLAN2网段的包。但是,这样会使得VLAN3访问VLAN2的包在离开VLAN3接口时被拒绝。 但是,更常见的做法是在VLAN2接口的入方向允许VLAN2访问VLAN3,而在VLAN3接口的入方向拒绝VLAN3访问VLAN2。然而,这样并不能完全控制,因为VLAN2访问VLAN3的包会经过VLAN3接口(入方向?实际上是从VLAN2接口进入,从VLAN3接口出去,不会经过VLAN3接口的入方向)。 因此,我们可能需要使用包过滤(packet-filter)在全局或接口上控制。这里我们采用在VLAN接口上应用ACL,但方向要正确。 重新思考:数据包从VLAN3网段发往VLAN2网段,会先进入交换机的VLAN3接口(即从VLAN3网段进入交换机的VLAN3接口),然后从交换机的VLAN2接口转发出去。所以,我们在VLAN3接口的入方向(inbound)应用ACL,过滤掉源地址为VLAN3网段且目的地址为VLAN2网段的包。这样,这些包在进入交换机时就被丢弃了。 同时,从VLAN2发往VLAN3的包,进入交换机的VLAN2接口,然后从VLAN3接口转发出去。这个包不会经过VLAN3接口的入方向(因为入方向是指进入交换机的方向,即从VLAN3网络发往交换机的包),所以不会被VLAN3接口的入方向ACL过滤。因此,我们只需要在VLAN3接口的入方向应用一个ACL,禁止从VLAN3到VLAN2的包即可。 步骤: 1. 创建ACL(高级ACL,例如3000): rule 5 deny ip source 172.16.13.0 0.0.0.255 destination 172.16.12.0 0.0.0.255 # 禁止VLAN3访问VLAN2(VLAN3的网段是172.16.13.0/24,VLAN2的网段是172.16.12.0/24?注意:根据用户配置,VLAN2的接口IP是172.16.12.1,所以VLAN2网段是172.16.12.0/24,VLAN3的接口IP是172.16.13.1,所以VLAN3网段是172.16.13.0/24) rule 10 permit ip # 允许其他所有IP流量 2. 将ACL应用到VLAN3接口的入方向: interface Vlan-interface3 packet-filter 3000 inbound 但是,这样配置后,VLAN3到其他网段(包括VLAN2)的流量都会被规则5禁止,而其他流量被规则10允许。同时,VLAN2到VLAN3的流量不会经过这个ACL(因为它是从VLAN2接口进入,从VLAN3接口出去,不会触发VLAN3接口的入方向ACL),所以是允许的。 注意:这里我们假设VLAN2和VLAN3的网关都在这个交换机上(即Vlan-interface2和Vlan-interface3)。 但是,根据用户之前的配置,我们看到: vlan 2: 对应Vlan-interface2的IP是172.16.10.254(但用户配置了多个IP,主IP是172.16.10.254,子IP有192.168.10.254、172.16.100.254、10.51.103.253)?这可能是多网段。但用户的需求是VLAN2和VLAN3之间的单向访问,所以我们应该根据实际网段来配置。 然而,用户问题中的VLAN2和VLAN3的网段并不明确。在用户提供的配置中,VLAN接口的配置如下: Vlan-interface2: 172.16.10.254/24 (主IP) Vlan-interface3: 172.16.11.1/24 Vlan-interface4: 172.16.12.1/24 Vlan-interface5: 172.16.13.1/24 Vlan-interface6: 172.16.14.1/24 所以,如果用户希望VLAN2(假设是Vlan-interface2所在的网段172.16.10.0/24)可以访问VLAN3(假设是Vlan-interface3所在的网段172.16.11.0/24),而禁止反向,那么: ACL规则应为: rule 5 deny ip source 172.16.11.0 0.0.0.255 destination 172.16.10.0 0.0.0.255 rule 10 permit ip 然后应用在Vlan-interface3的入方向(inbound): interface Vlan-interface3 packet-filter 3000 inbound 但是,这里有一个问题:Vlan-interface3的网段是172.16.11.0/24,而Vlan-interface2的网段是172.16.10.0/24。 因此,我们按照用户的需求,假设: VLAN2:对应网段172.16.10.0/24 VLAN3:对应网段172.16.11.0/24 配置如下: 1. 创建ACL 3000(如果已有3000,可以换一个,比如3002): acl advanced 3000 rule 5 deny ip source 172.16.11.0 0.0.0.255 destination 172.16.10.0 0.0.0.255 rule 10 permit ip 2. 在Vlan-interface3上应用入方向: interface Vlan-interface3 packet-filter 3000 inbound 这样,从VLAN3(172.16.11.0/24)发往VLAN2(172.16.10.0/24)的包在进入交换机的VLAN3接口时就会被丢弃。而VLAN2访问VLAN3的包,因为是从VLAN2接口进入,然后从VLAN3接口转发出去,不经过VLAN3接口的入方向ACL,所以可以正常通过。 注意:如果用户希望VLAN2能够访问VLAN3,那么VLAN3接口的出方向不需要做任何限制(因为VLAN3接口出方向是交换机发给VLAN3主机的包,即从交换机到VLAN3,这个方向我们不需要限制,因为VLAN2访问VLAN3的包是允许的)。 但是,如果用户还有其他网段,需要确保规则10允许了其他流量,以免影响其他通信。 另外,用户配置中已经存在ACL 3000和3001,所以我们可以使用一个新的ACL编号(例如3002)来避免冲突。 总结步骤: 1. 创建高级ACL(例如3002): [Switch] acl advanced 3002 [Switch-acl-ipv4-adv-3002] rule 5 deny ip source 172.16.11.0 0.0.0.255 destination 172.16.10.0 0.0.0.255 [Switch-acl-ipv4-adv-3002] rule 10 permit ip [Switch-acl-ipv4-adv-3002] quit 2. 将ACL 3002应用到VLAN3接口的入方向: [Switch] interface Vlan-interface3 [Switch-Vlan-interface3] packet-filter 3002 inbound [Switch-Vlan-interface3] quit 这样配置后,测试: - 从VLAN2(172.16.10.x)ping VLAN3(172.16.11.x)应该通。 - 从VLAN3(172.16.11.x)ping VLAN2(172.16.10.x)应该不通。 注意:如果用户的实际网段不是172.16.10.0/24和172.16.11.0/24,请根据实际情况修改ACL中的网段。 另外,用户配置中Vlan-interface2有多个IP地址,但ACL中我们只针对主网段(172.16.10.0/24)进行了限制。如果用户还有其他子网(如192.168.10.0/24, 172.16.100.0/24, 10.51.103.0/24)需要限制,那么需要在ACL中添加相应的规则。 如果用户希望禁止VLAN3访问VLAN2的所有IP(包括子网),则需要将目的地址写成所有VLAN2的网段。例如: rule 5 deny ip source 172.16.11.0 0.0.0.255 destination 172.16.10.0 0.0.0.255 rule 6 deny ip source 172.16.11.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 7 deny ip source 172.16.11.0 0.0.0.255 destination 172.16.100.0 0.0.0.255 rule 8 deny ip source 172.16.11.0 0.0.0.255 destination 10.51.103.0 0.0.0.255 然后允许其他IP。 但这样规则较多,如果用户希望简单,可以写一个汇总的ACL,但要注意这些网段无法汇总。或者,如果这些子网都属于VLAN2,那么从VLAN3访问这些子网实际上也是不允许的,所以需要逐条添加。 另一种思路:如果这些子网都是通过Vlan-interface2路由的,那么从VLAN3访问这些子网的数据包都会经过Vlan-interface3接口的入方向(因为源IP是VLAN3,目的IP是这些子网),所以我们可以用一条规则禁止所有VLAN3访问VLAN2接口上的所有IP地址?但这样可能会影响其他网段(比如不是VLAN2的网段)。所以,建议明确要禁止访问的网段。 因此,我们根据实际需求,如果只禁止访问主网段,则只配置主网段;如果所有VLAN2的网段都禁止,则逐条添加。 最后,我们提供配置示例(假设只禁止主网段):</think>### 配置VLAN间单向通信(VLAN2→VLAN3) #### 步骤1:创建ACL实现单向访问控制 ```h3c acl advanced 3100 rule 5 permit ip source 172.16.11.0 0.0.0.255 destination 172.16.12.0 0.0.0.255 # 允许VLAN2访问VLAN3 rule 10 deny ip source 172.16.12.0 0.0.0.255 destination 172.16.11.0 0.0.0.255 # 拒绝VLAN3访问VLAN2 rule 15 permit ip # 放行其他流量 ``` #### 步骤2:在VLAN接口应用ACL ```h3c interface Vlan-interface3 # VLAN3网关接口 packet-filter 3100 inbound # 在入方向应用ACL ``` #### 步骤3:验证配置 ```h3c display acl 3100 # 查看ACL规则 display packet-filter interface Vlan-interface3 # 检查接口应用状态 ``` #### 配置原理解析: 1. **ACL工作逻辑**: - 规则5:允许源`172.16.11.0/24`(VLAN2)访问目的`172.16.12.0/24`(VLAN3) - 规则10:拒绝源`172.16.12.0/24`(VLAN3)访问目的`172.16.11.0/24`(VLAN2) - 规则15:放行其他所有流量(避免阻断非目标网段通信) 2. **流量路径控制**: - 当VLAN3主机访问VLAN2时,数据包进入`Vlan-interface3`接口触发ACL检查 - 匹配规则10后立即丢弃数据包 - VLAN2访问VLAN3的流量不受此ACL影响[^1] #### 测试验证方法: 1. VLAN2主机执行: ```shell ping 172.16.12.100 # 应能ping通VLAN3主机 ``` 2. VLAN3主机执行: ```shell ping 172.16.11.100 # 应无法ping通VLAN2主机 traceroute 172.16.11.1 # 路径在网关中断 ``` #### 注意事项: 1. **ACL应用方向**: - 必须在**目标VLAN的网关接口**应用(此处为VLAN3) - 方向必须为`inbound`(入站流量控制) 2. **IP地址匹配**: - 源/目的网段需与实际VLAN网段一致 - 若使用子网,需调整掩码(如`172.16.12.0 0.0.1.255`匹配/23网段) 3. **规则优先级**: - H3C ACL按规则ID从小到大匹配 - 关键规则需设置较小ID(如5,10)确保优先匹配 > 注:此配置不影响其他VLAN间通信,如需完全隔离VLAN2和VLAN3,可删除规则15并添加`rule 20 deny ip`显式拒绝所有[^1]。 --- ### 相关问题 1. 如何实现VLAN间双向隔离? 2. ACL规则匹配顺序对性能有何影响? 3. 如何验证ACL实际丢弃的报文数量? 4. 单向访问控制能否应用于IPv6网络? 5. 除ACL外还有哪些方法实现VLAN间访问控制?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值