1.添加主机路由html
route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw 192.168.1.1
2.添加网络路由python
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.添加默认网关linux
route add default gw 192.168.1.1
4.删除路由vim
route del -host 192.168.1.11 dev eth0
5.删除默认路由安全
route del default gw 192.168.1.1
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-routesapp
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转发curl
1.临时开启ui
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虽然能够彻底访问内网资源,可是却不能访问外网资源。怎么解决呢?
其中:
VMnet二、VMnet三、VMnet4均为仅主机模式,那么常规状况下,只有其网络内的各计算机之间才能够通讯,要怎样才能实现三个网络间的通讯呢?
答案是使用华为eNSP模拟器中的Cloud。使用Cloud设备能够将eNSP中的路由器和VMware虚拟机的网卡链接起来。
配置eNSP的路由器
<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地址在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上查看路由表在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
查看路由表
检测连通性
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条命令而已。可是蕴藏在这条命令背后的原理、概念、理论,则须要咱们进行深究!
连接:https://www.cnblogs.com/conne...