当前位置: 首页 > news >正文

双网卡配置IP和路由总结

1.在网络适配器属性IPv4中设置默认网关(记网关地址为A),将会在本地路由表中新增一条记录:

网络号子网掩码网关地址
0.0.0.00.0.0.0A

2.如果有两个网卡(假设一个连接内网,一个连接互联网),则将会在"控制面板\网络和 Internet\网络连接"中会有两个网络适配器。如果这两个网络适配器中均设置了默认网关,则路由表中将会有两个记录:

网络号子网掩码网关地址
0.0.0.00.0.0.0A
0.0.0.00.0.0.0B

则在路由匹配的时候会在这两台记录中随机匹配,则会有四种情况:

原本的目的地被送去了
AA
AB
BB
BA

且在设置第二个网络适配器的时候,系统会提示:

3.这个时候只能保留外网网络适配器上的默认网关设置,内网网络适配器上不能设置默认网关。

为了能正常访问内网上的机器,这个时候需要手动添加路由,将访问内网机器的包发往内网网关。

假设:

(1)内网段为192.168.0.0到192.168.255.255,内网网关为192.168.20.1

(2)外网的局域网网段为172.16.3.0到172.16.3.255,内网网关为172.16.3.1

则路由表应该设置为:

网络号子网掩码网关地址
0.0.0.00.0.0.0172.16.3.1
192.168.0.0255.255.0.0192.168.20.1

其中第一条是设置外网网络适配器的时候系统添加的,第二条是使用命令route add手动添加的。

4.有人会问,那能不能反过来,将192.168.20.1设置为默认路由,手动添加静态路由访问外网?即将路由表改为:

网络号子网掩码网关地址
0.0.0.00.0.0.0192.168.20.1
172.16.0.0255.255.0.0172.16.3.1

答案是不行。

因为这样设置,访问内网机器肯定是没有问题的。但是访问不了互联网。因为172.16.3.0到172.16.3.255仅仅是本地的一个局域网,这个局域网通过路由器端口172.16.3.1可以访问互联网。这样设置,访问本地的局域网上的ip 172.16.3.0到172.16.3.255没有问题,但是访问不了互联网。因为互联网上的ip地址什么样的都有,在172.16.3.0到172.16.3.255以外的就无法匹配第二条路由,只能匹配第一条路由,被送往192.168.20.1,但是这个网关却是无法访问互联网的。

5.知识回顾

(1)局域网私有IP地址有三类

A类:10.0.0.0 到 10.255.255.255

B类:172.16.0.0 到 172.31.255.255

C类:192.168.0.0 到 192.168.255.255

网络号分别为8、12、16位

A类第一个字节固定为10,后三个字节为主机号

B类第一个字节固定为172,第二个字节高4位固定为0001(2进制),后面的4+8+8位为主机号

A类前两个字节固定为192.168,后两个字节为主机号

(2)路由表匹配过程

假设要访问的主机IP是A,则A将会与路由表中的每一条路由item进行对比,将A与item的子网掩码进行与操作,得到网络号,与item的网络号对比,是否相等,如果相等,则匹配成功,否则匹配失败。匹配成功的可能有好几个item,这个时候遵循最长前缀匹配原则,选择网络号最长的那个item.

相关文章:

  • 【计算视觉】学习计算机视觉你不得不膜拜的CVPR大神:何凯明
  • gulimall-search P125 springboot整合elasticsearch版本冲突
  • Windows系统问题
  • Java项目如何外发告警日志到企业微信
  • java进阶——JVM 与 Java 体系结构详解
  • 大语言模型的sft
  • 图片和PDF展示预览、并支持下载
  • 3040. 相同分数的最大操作数目 II Medium
  • 构建LangChain应用程序的示例代码:14、使用LangChain、GPT和Activeloop的Deep Lake来处理代码库
  • 稍微学学react
  • 56.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(4)
  • 43.bug:mapper接口参数使用@param重命名导致的错误
  • 怎么换自己手机的ip地址
  • C语言---深入指针(4)
  • springboot+minio+kkfileview实现文件的在线预览
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • CSS 提示工具(Tooltip)
  • CSS实用技巧
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • k8s 面向应用开发者的基础命令
  • vue-cli3搭建项目
  • Web Storage相关
  • 聊聊flink的TableFactory
  • 网页视频流m3u8/ts视频下载
  • 我的面试准备过程--容器(更新中)
  • 我是如何设计 Upload 上传组件的
  • No resource identifier found for attribute,RxJava之zip操作符
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​2020 年大前端技术趋势解读
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • # 数仓建模:如何构建主题宽表模型?
  • #nginx配置案例
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (20)docke容器
  • (C++20) consteval立即函数
  • (vue)页面文件上传获取:action地址
  • (差分)胡桃爱原石
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (函数)颠倒字符串顺序(C语言)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)nsfocus-绿盟科技笔试题目
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • ******之网络***——物理***
  • ***测试-HTTP方法
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core 连接数据库,通过数据库生成Modell
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .Net Redis的秒杀Dome和异步执行
  • .net 发送邮件
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET建议使用的大小写命名原则
  • /proc/stat文件详解(翻译)