Linux下路由配置命令
1.增加主机路由
route add -host 192.168.1.11 dev eth0route add -host 192.168.1.12 gw 192.168.1.1
2.增加网络路由
route add -net 192.168.1.11 netmask 255.255.255.0 eth0route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1route add -net 192.168.1.0/24 eth0route 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网段的服务器。
网络布局
内网路由器如何实现呢?
VMnet2、VMnet3、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.htmlpython -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.htmlcurl http://172.16.3.11:8080/index.htmlcurl http://172.16.4.11:8080/index.html
解决的方法很简略,就是1条命令而已。然而蕴藏在这条命令背地的原理、概念、实践,则须要咱们进行深究!
链接:https://www.cnblogs.com/conne...