文章目录
背景
工作中可能由于涉密或版权问题,服务器通常采用物理隔离的方式与外网隔离。如果你没有防火墙又懒得折腾软路由(模拟很穷),一机双卡可能是成本最低的解决方案:既能访问内网又能访问外网。
需求
一台windows电脑,安装2块网卡,一块为A,一块为B,A网卡连接内网服务器,IP地址段:172.0.0.0/24。B网卡用于访问外网。设置让访问172.0.0段的请求经过A网卡,其他访问进过B网卡
一、基础网络配置
1、为A网卡配置内网IP
IP地址:172.0.0.1(与内网服务器同网段)
子网掩码:255.255.255.0
注意:不要设置默认网关,否则会因冲突当值失败(系统会提示你)
2、为B网卡配置外网IP
按照外网运营商要求设置IP、子网掩码、默认网关和DNS
如果支持DHCP,可选择dhcp
二、路由规则配置
1、提升A网卡优先级(调整跃点数)
网卡跃点数(Hop Count)是网络通信中衡量数据包传输路径长度的核心指标,具体指数据包从源设备到目标设备所经过的路由器或网关数量
- 打开「控制面板→网络和 Internet→网络连接」
- 右键A网卡选择「属性」→「Internet协议版本4(TCP/IPv4)」→「高级」
取消勾选「自动跃点数」,设置数值为 65535(建议) - 对B网卡重复上述操作,设置数值为 100
2、添加静态路由规则
以管理员身份运行CMD,执行以下命令:
route add 172.0.0.0 mask 255.255.255.0 172.0.0.1 -p
- 172.0.0.0:需访问的内网网段
- 255.255.255.0:子网掩码
- 172.0.0.1:A网卡的网关(出口IP)
- -p:表示永久生效
三、验证配置
1、查看路由表
route print
确认存在以下两条规则:
- 172.0.0.0 指向A网卡网关
- 0.0.0.0 指向B网卡网关
2.测试网络连通性
内网访问:ping 172.0.0.1(应成功)
外网访问:ping 8.8.8.8(应成功)
跨网访问:tracert 10.32.10.5(应仅经过A网卡)
如果内网有DNS,可为A卡配置DNS。
四、风险分析
1、隔离失效风险
1、若未正确设置route add命令的网关参数,内网服务器可能通过外网网卡暴露于公网
2、即使内网服务器本身物理隔离,但作为双网卡电脑的网关设备,其网络接口(如A网卡)仍可能被公网攻击者扫描到。一旦攻击者利用系统漏洞入侵电脑,可能通过内网接口横向渗透到物理隔离的内网(任何设备都存在这种风险,可忽略)
2、安全加固
1、严格路由控制
- 仅允许内网流量通过A网卡:执行route add 172.0.0.0 mask 255.255.255.0 172.0.0.1 -p(需永久生效)
- 禁用A网卡的默认路由:在A网卡属性中取消勾选「自动跃点数」,设置跃点数为65535(远高于B网卡的100),确保外网流量无法通过A网卡路由
2、安全加固(没试)
在电脑上部署防火墙:禁止A网卡的所有入站/出站规则,仅允许内网服务器必要的服务端口(如SSH需限制为内网IP)
五、升级方案
- 将配置双网卡的电脑放置在独立的安全区域,与物理隔离的内网服务器保持物理距离
- 定期检查系统日志:使用eventvwr.msc监控异常连接尝试,发现可疑行为立即隔离设备
- 再高级一点:使用vSphere,后续有时间再细说
六、答疑
1、为啥内网网卡设为65535就能阻止外网路由?
跃点数是用来衡量数据包从源主机到目标主机之间经过的路由器数量的一个指标。通常,路由器使用跃点数来决定数据包的最佳路径。65535是一个非常大的跃点数,在大多数路由协议中,通常用作“无限跳数”的标记,意味着目标无法到达。
这种方式通常用来控制网络流量的路由路径或优先级,确保外网网卡用于互联网通信,而内网网卡则不参与外网的路由。
总结
如果你喜欢折腾,建议尝试软路由
成熟的解决方案可采用防火墙设备