Linux下路由配置命令
1. 添加主机路由
route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw 192.168.1.1
2. 添加网络路由
route add -net 192.168.1.11 netmask 255.255.255.0 eth0 route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1 route add -net 192.168.1.0/24 eth0 route add -net 192.168.1.0/24 gw 192.168.1.1
3. 添加默认网关
route add default gw 192.168.1.1
4. 删除路由
route del -host 192.168.1.11 dev eth0
5. 删除默认路由
route del default gw 192.168.1.1
Linux下配置永久路由的几种方式
1. 在/etc/rc.local
里添加路由信息
route add -net 192.168.1.0/24 dev eth0 # 或者 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
2. 在/etc/sysconfig/network
里追加
GATEWAY=[网关IP或者网关网卡名称]
3. /etc/sysconfig/static-routes
any net 192.168.1.0/24 gw 192.168.1.1 # 或者 any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
4. 开启IP转发
1.临时开启
echo "1" > /proc/sys/net/ipv4/ip_forward
2.永久开启
vim /etc/sysctl.conf
修改net.ipv4.ip_forward=1
实验:配置双网卡主机同时使用内网和外网
本实验的背景是笔者在实践中遇到过的一个问题,本实验尽量还原当时的网络环境。仅当做一份笔记,同时分享给遇到此问题的同学。
奈何我现在没有硬件呀(T_T)...只能拿VMware Workstation和eNSP来模拟实验环境了。
问题背景
如下图拓扑所示,如果去掉client
节点,内网和外网就是相互隔离的网络。
但是实际情况是,client
节点既需要访问外网资源,又需要访问内网资源,而client
只能配置一条默认路由。如果将默认路由配置在外网网卡,client
可以访问172.16.2.0/24
网络的资源和外网的资源,但是其余内网资源将无法访问;如果将默认路由配置在内网网卡,client
虽然可以完全访问内网资源,但是却不能访问外网资源。
怎么解决呢?
实验环境
- VMware Workstation Pro
- 4台最小化安装的CentOS 7.3虚拟机
- 华为eNSP模拟器
实验拓扑
去掉client
节点,内网和外网是隔离的网络。
外网网络为10.0.0.0/16
,代表运营商的接入网;
内网网络为172.16.0.0/16
,代表内网部分(该部分为了安全,不允许对互联网的直接访问)。
其中:
client
为双网卡的主机,两网卡网段分别为10.0.0.0/16
、172.16.2.0/24
;server2
为172.16.2.0/24
网段的服务器;server3
为172.16.3.0/24
网段的服务器;server4
为172.16.4.0/24
网段的服务器。
网络规划
IP分配
节点名称 IP地址 子网掩码 备注 client 10.0.0.101 255.255.0.0 client的外网网卡 172.16.2.101 255.255.255.0 client的内网网卡 Server2 172.16.2.11 255.255.255.0 172.16.2.0/24网段的某台服务器 Server3 172.16.3.11 255.255.255.0 172.16.3.0/24网段的某台服务器 Server4 172.16.4.11 255.255.255.0 172.16.4.0/24网段的某台服务器 内网路由器 172.16.2.254 255.255.255.0 172.16.2.0/24的网关 172.16.3.254 255.255.255.0 172.16.3.0/24的网关 172.16.4.254 255.255.255.0 172.16.4.0/24的网关
虚机网卡类型
网络名称 VMware网卡类型 网络范围 运营商网络 桥接 10.0.0.0/16 VMnet2 仅主机 172.16.2.0/24 VMnet3 仅主机 172.16.3.0/24 VMnet4 仅主机 172.16.4.0/24
内网路由器如何实现呢?
VMnet2、VMnet3、VMnet4均为仅主机模式,那么常规情况下,只有其网络内的各计算机之间才可以通信,要怎样才能实现三个网络间的通信呢?
答案是使用华为eNSP模拟器中的Cloud。使用Cloud设备可以将eNSP中的路由器和VMware虚拟机的网卡连接起来。
配置内网环境
配置eNSP的路由器
接口 IP地址 子网掩码 G0/0/0 172.16.2.254 255.255.255.0 G0/0/1 172.16.3.254 255.255.255.0 G0/0/2 172.16.4.254 255.255.255.0
<huawei>system-view [huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip address 172.16.2.254 255.255.255.0 [Huawei-GigabitEthernet0/0/0]quit [huawei]int g0/0/1 [Huawei-GigabitEthernet0/0/1]ip address 172.16.3.254 255.255.255.0 [Huawei-GigabitEthernet0/0/1]quit [huawei]int g0/0/2 [Huawei-GigabitEthernet0/0/2]ip address 172.16.4.254 255.255.255.0 [Huawei-GigabitEthernet0/0/2]quit [huawei]
修改虚机的IP地址
client
网卡名称 IP地址 子网掩码 默认网关 备注 ens33 10.0.0.101 255.255.0.0 10.0.0.1 外网网卡 ens37 172.16.2.101 255.255.255.0 内网网卡
server2
网卡名称 IP地址 子网掩码 默认网关 备注 ens33 172.16.2.11 255.255.255.0 172.16.2.254
server3
网卡名称 IP地址 子网掩码 默认网关 备注 ens33 172.16.3.11 255.255.255.0 172.16.3.254
server4
网卡名称 IP地址 子网掩码 默认网关 备注 ens33 172.16.4.11 255.255.255.0 172.16.4.254
在server上搭建HTTP服务
以server2
为例:
使用Python创建一个简单的HTTP服务
cd ~ echo "server2" > index.html python -m SimpleHTTPServer 8080
对照试验
在client
上访问外网
ping www.baidu.com -c 4
在client
上访问server2
ping 172.16.2.11 -c 4
在client
上访问server3
ping 172.16.3.11 -c 4
在client
上访问server4
ping 172.16.4.11 -c 4
在对照试验中可以看到,在client
将默认网关配置在外网网卡的情况下,双网卡的client
可以正常访问外网和内网的172.16.2.0/24
部分,而172.16.3.0/24
和172.16.4.0/24
是不能访问到的。
为什么client
能访问172.16.2.0/24
网络,而不能访问172.16.0.0/16
的其余网络呢?
因为client
位于172.16.2.0/24
网络内,在网络内进行通信,数据包不用发送至其他网络,当然默认网关也就不起作用了。
而当client
与172.16.0.0/16
的其余网络通信时,client
的路由表没有记载发往目的地址的路径,所以client
只能傻傻的把数据包发送给默认网关,从此数据包和真正的目的地址就“南辕北辙”了。当然ping的结果就是网络不可达。
路由配置
在client
上查看路由表
route
在client
上添加路由
route add -net 172.16.0.0/16 gw 172.16.2.254
永久配置,则在/etc/rc.local
里添加路由信息
route add -net 172.16.0.0/16 gw 172.16.2.254
查看路由表
route
实验结果
检测连通性
ping www.baidu.com -c 4
ping 172.16.2.11 -c 4
ping 172.16.3.11 -c 4
ping 172.16.4.11 -c 4
访问内外网资源
curl http://www.baidu.com/
curl http://172.16.2.11:8080/index.html
curl http://172.16.3.11:8080/index.html
curl http://172.16.4.11:8080/index.html
解决的办法很简单,就是1条命令而已。
但是蕴藏在这条命令背后的原理、概念、理论,则需要我们进行深究!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]