文章目录
路由介绍
linux主机当路由器的三个条件
-
必须开启路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward #想要永久生效应该写入配置文件中去 echo net.ipv4.ip_forward>/etc/sysctl.d/ip_forward.conf #检查 cat /proc/sys/net/ipv4/ip_forward
-
对方必须把自己当成网关
-
该linux主机必须有对应的路由转发条目
路由的三种分类
-
1、主机路由:子网掩码为32位,直接把范围缩小到最小,就一个地址
route add -host 172.16.13.11/32 dev eth0
-
2、网络路由:子网掩码不足32位,所包含的地址是一个范围,子网掩码越大容纳的范围越小
route add -net 172.16.11.0/24 dev eth0
-
3、默认路由:目标地址为0.0.0.0/0,所包含的范围是最大的
route add default dev eth0
-
4、指定网关,让网关做后续转发,不指定就在局域网内发送
route add -host 172.16.13.11/32 gw 192.168.15.2 dev eth0 route add -net 172.16.11.0/24 gw 192.168.15.2 dev eth0 route add default gw 192.168.15.2 dev eth0
路由的优先级:
越精确优先级越高,子网掩码越大越精确 主机路由>网络路由>默认路由
实验
实验目标
根据图片拓扑结构,依次在虚拟机1中ping通
2.2.2.2
2.2.2.3
3.3.3.3
3.3.3.4
4.4.4.3
环境准备
#创建虚拟交换机
打开虚拟网络编辑器,添加4个仅主机模式
#创建4个虚拟机,虚拟机1添加一个仅主机网卡,其余两个
#配置好网络
#个人编写的小脚本,更改起来快一点
#!bin/bash
#baimo
#配置虚拟机网卡与关闭服务
cat >/etc/sysconfig/network-scripts/ifcfg-eth0<<EOF
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=$1
NETMASK=255.255.255.0
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
NM_CONTROLLED="no"
EOF
cat >/etc/sysconfig/network-scripts/ifcfg-eth1<<EOF
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=$2
NETMASK=255.255.255.0
NAME="eth1"
DEVICE="eth1"
ONBOOT="yes"
NM_CONTROLLED="no"
EOF
systemctl restart network
setenforce=0
iptables -F
ping 2.2.2.2
#查看路由条目
[root@test1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
#添加2.2.2.0/24条目并查看
[root@test1 ~]# route add -net 2.2.2.0/24 dev eth0
[root@test1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
1.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
2.2.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
#测试
[root@test1 ~]# ping 2.2.2.2
PING 2.2.2.2 (2.2.2.2) 56(84) bytes of data.
64 bytes from 2.2.2.2: icmp_seq=1 ttl=64 time=0.885 ms
64 bytes from 2.2.2.2: icmp_seq=2 ttl=64 time=0.726 ms
64 bytes from 2.2.2.2: icmp_seq=3 ttl=64 time=0.610 ms
64 bytes from 2