双网卡配置IP和路由总结

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

|---------|---------|------|
| 网络号 | 子网掩码 | 网关地址 |
| 0.0.0.0 | 0.0.0.0 | A |

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

|---------|---------|------|
| 网络号 | 子网掩码 | 网关地址 |
| 0.0.0.0 | 0.0.0.0 | A |
| 0.0.0.0 | 0.0.0.0 | B |

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

|--------|------|
| 原本的目的地 | 被送去了 |
| A | A |
| A | B |
| B | B |
| B | A |

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

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.0 | 0.0.0.0 | 172.16.3.1 |
| 192.168.0.0 | 255.255.0.0 | 192.168.20.1 |

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

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

|------------|-------------|--------------|
| 网络号 | 子网掩码 | 网关地址 |
| 0.0.0.0 | 0.0.0.0 | 192.168.20.1 |
| 172.16.0.0 | 255.255.0.0 | 172.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.

相关推荐
杜子不疼.几秒前
【Linux】进程控制(一):进程的创建和终止
linux·运维·服务器
翼龙云_cloud1 分钟前
阿里云渠道商:连接无影云电脑时最常见的问题有哪些?
服务器·阿里云·云计算·电脑·玩游戏
源代码•宸1 小时前
GoLang并发示例代码2(关于逻辑处理器运行顺序)
服务器·开发语言·经验分享·后端·golang
橘子真甜~1 小时前
C/C++ Linux网络编程9 - TCP服务器实现流程和独立运行
linux·运维·服务器·c++·守护进程·会话组
_dindong8 小时前
Linux网络编程:结合内核数据结构详谈epoll的工作原理
linux·服务器·网络
了一梨8 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
network_tester8 小时前
IXIA XM2网络测试仪电源模块损坏维修方法详解
网络·网络协议·tcp/ip·http·https·信息与通信·信号处理
buyutang_8 小时前
Linux网络编程:Socket套接字编程概念及常用API接口介绍
linux·服务器·网络·tcp/ip
杨云龙UP8 小时前
从0搭建Oracle ODA NFS异地备份:从YUM源到RMAN定时任务的全流程
linux·运维·数据库·oracle
DN金猿8 小时前
恢复 Linux 上误删除的文件
linux·运维·服务器