Linux主机模拟路由,实现跨网段访问
关键命令
Linux主机开启路由功能
永久有效,修改文件echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
临时有效,echo 1 > /proc/sys/net/ipv4/ip_forward
使配置生效,sysctl -p
添加路由
普通路由route add -net 172.16.0.0/24 gw 192.168.20.201
默认路由route add default gw 192.168.20.200
删除路由
用ip route 查看
ip route del 10.0.0.0/24 via 192.168.20.200
抓包(icmp类型)
tcpdump -i eth1 icmp -nn
1、拓扑图
192.168.10.0/24网段生产环境在用,改成192.168.20.0/24
2、节点描述
-
网卡:
VMnet1:仅主机模式,网段192.168.20.0/24(10网段生产环境中有使用)
VMnet8:NAT模式,网段10.0.0.0/24
VMnet10:仅主机模式,网段172.16.0.0/24 -
主机:
A:CentOS7,一块网卡NAT模式
R1:CentOS8开启路由功能(ip_forword),eth0(左)NAT模式,eth1(右)仅主机模式
R2:CentOS8开启路由功能(ip_forword),eth0(左)仅主机模式,eth1(右)自定义,选择VMnet10(仅主机模式)
B:Ubantu,一块网卡,自定义,选择VMnet10(仅主机模式)
2.1、修改网卡名
CentOS7/8
1)编辑/etc/default/grub配置文件
[root@centos7 ~]#vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="spectre_v2=retpoline rhgb quiet net.ifnames=0 biosdevname=0"
# net.ifnames=0 biosdevname=0 为添加的内容;其中 biosdevname=0戴尔服务必须写,其他服务器可写可不写
GRUB_DISABLE_RECOVERY="true"
2)为grub2生成其配置文件
# On a system with UEFI boot mode:
[root@centos7 ~]# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
# On a system with legacy boot mode:
[root@centos7 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@centos7 ~]# grub2-mkconfig -o /etc/grub2.cfg
3)重启系统
[root@centos7 ~]#reboot
CentOS 6
1)ip a 查看网卡MAC地址
2)编辑文件/etc/udev/rules.d/70-persistent-net.rules,把网卡mac地址所在的网卡名修改成eth0,其他视情况修改或删除
3)修改IP /etc/sysconfig/network-scripts/ifcfg-eth0
4)重启网卡service network restart
2.2、修改IP
A IP配置
[root@centos7 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static #或者写none
IPADDR=10.0.0.72
PREFIX=24 #或者NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5 #阿里
DNS2=180.76.76.76 #百度
DOMAIN=magedu.com
ONBOOT=yes
R1 IP配置
[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
IPADDR=10.0.0.200
PREFIX=24
ONBOOT=yes
[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
NAME=eth1
BOOTPROTO=none
IPADDR=192.168.20.200
PREFIX=24
ONBOOT=yes
R2 IP配置
[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
IPADDR=192.168.20.201
PREFIX=24
ONBOOT=yes
[root@centos8 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
NAME=eth1
BOOTPROTO=none
IPADDR=172.16.0.200
PREFIX=24
ONBOOT=yes
B IP配置,Ubantu配置IP和Centos不一样
[root@ubuntu1804 ~]#cd /etc/netplan/
[root@ubuntu1804 netplan]#