环境流程图


环境设定
router
#在路由器中
[root@router yxs]# systemctl disable --now ipvsadm.service
Removed "/etc/systemd/system/multi-user.target.wants/ipvsadm.service".
[root@router yxs]# vmset.sh eth0 172.25.254.100 router
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7)
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:ee:1b:c5 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 172.25.254.100/24 brd 172.25.254.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::23c8:4740:41c3:f9e6/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
router
[root@router yxs]# vmset.sh eth1 192.168.0.100 router noroute
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/8)
3: eth1: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:ee:1b:cf brd ff:ff:ff:ff:ff:ff
altname enp19s0
altname ens224
inet 192.168.0.100/24 brd 192.168.0.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::2368:18eb:c683:fc47/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
router
#设定内核路由功能
[root@router yxs]# echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
[root@router yxs]# sysctl -p
net.ipv4.ip_forward = 1
#数据转发策略
[root@router yxs]# iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.0.100
[root@router yxs]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.100
vsnode
[root@vsnode yxs]# vmset.sh eth0 192.168.0.200 vsnode noroute
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:86:fe:7b brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.200/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::5ff5:78f6:3d42:63a8/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
vsnode
[root@vsnode yxs]# vim /etc/NetworkManager/system-connections/eth0.nmconnection
[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
method=manual
address1=192.168.0.50/24
address2=192.168.0.200/24,192.168.0.100
#检测
[root@vsnode yxs]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.100 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@vsnode yxs]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:86:fe:7b brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.50/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet 192.168.0.200/24 brd 192.168.0.255 scope global secondary noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::5ff5:78f6:3d42:63a8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
client
[root@client yxs]# vmset.sh eth0 172.25.254.99 client
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:e6:7c:33 brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 172.25.254.99/24 brd 172.25.254.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::2120:b1c8:5e57:da3d/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
client
#检测
[root@client yxs]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=128 时间=0.605 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=128 时间=0.523 毫秒
RS1
[root@RS1 yxs]# vmset.sh eth0 192.168.0.10 RS1 noroute
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:d5:22:da brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.10/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::4deb:3eed:cdbf:2fc8/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
RS1
[root@RS1 yxs]# nmcli connection modify eth0 ipv4.gateway 192.168.0.100
[root@RS1 yxs]# nmcli connection reload
[root@RS1 yxs]# nmcli connection up eth0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@RS1 yxs]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.100 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
#在lo上设定vip
[root@RS1 yxs]# cd /etc/NetworkManager/system-connections/
[root@RS1 system-connections]# cp -p eth0.nmconnection lo.nmconnection
[root@RS1 system-connections]# vim lo.nmconnection
[connection]
id=lo
type=loopback
interface-name=lo
[ethernet]
[ipv4]
address1=127.0.0.1/8
address2=192.168.0.200/32
method=manual
[root@RS1 system-connections]# nmcli connection reload
[root@RS1 system-connections]# nmcli connection up lo
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@RS1 system-connections]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.0.200/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:d5:22:da brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.10/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::4deb:3eed:cdbf:2fc8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#arp禁止响应
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
RS2
[root@RS2 yxs]# vmset.sh eth0 192.168.0.20 RS2 noroute
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:3a:be:ad brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.20/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::ce51:18e8:3ae6:e47e/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
RS2
[root@RS2 yxs]# nmcli connection modify eth0 ipv4.gateway 192.168.0.100
[root@RS2 yxs]# nmcli connection reload
[root@RS2 yxs]# nmcli connection up eth0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@RS2 yxs]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.100 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
#在lo上设定vip
[root@RS2 yxs]# cd /etc/NetworkManager/system-connections/
[root@RS2 system-connections]# cp -p eth0.nmconnection lo.nmconnection
[root@RS2 system-connections]# vim lo.nmconnection
[connection]
id=lo
type=loopback
interface-name=lo
[ethernet]
[ipv4]
address1=127.0.0.1/8
address2=192.168.0.200/32
method=manual
[root@RS2 system-connections]# nmcli connection reload
[root@RS2 system-connections]# nmcli connection up lo
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)
[root@RS2 system-connections]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet 192.168.0.200/32 scope global lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:3a:be:ad brd ff:ff:ff:ff:ff:ff
altname enp3s0
altname ens160
inet 192.168.0.20/24 brd 192.168.0.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fe80::ce51:18e8:3ae6:e47e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
#arp禁止响应
[root@RS2 system-connections]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 system-connections]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 system-connections]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@RS2 system-connections]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
检测配置(全主机可达)
router
[root@router yxs]# ping 172.25.254.99
PING 172.25.254.99 (172.25.254.99) 56(84) 比特的数据。
64 比特,来自 172.25.254.99: icmp_seq=1 ttl=64 时间=0.393 毫秒
64 比特,来自 172.25.254.99: icmp_seq=2 ttl=64 时间=0.359 毫秒
^Z
[1]+ 已停止 ping 172.25.254.99
[root@router yxs]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=64 时间=0.572 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=64 时间=0.273 毫秒
^Z
[2]+ 已停止 ping 192.168.0.200
[root@router yxs]# ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) 比特的数据。
64 比特,来自 192.168.0.10: icmp_seq=1 ttl=64 时间=0.434 毫秒
64 比特,来自 192.168.0.10: icmp_seq=2 ttl=64 时间=0.306 毫秒
^Z
[3]+ 已停止 ping 192.168.0.10
[root@router yxs]# ping 192.168.0.20
PING 192.168.0.20 (192.168.0.20) 56(84) 比特的数据。
64 比特,来自 192.168.0.20: icmp_seq=1 ttl=64 时间=0.362 毫秒
64 比特,来自 192.168.0.20: icmp_seq=2 ttl=64 时间=0.259 毫秒
^Z
[4]+ 已停止 ping 192.168.0.20
vsnode
[root@vsnode yxs]# ping 172.25.254.100
PING 172.25.254.100 (172.25.254.100) 56(84) 比特的数据。
64 比特,来自 172.25.254.100: icmp_seq=1 ttl=64 时间=0.238 毫秒
64 比特,来自 172.25.254.100: icmp_seq=2 ttl=64 时间=0.364 毫秒
^Z
[1]+ 已停止 ping 172.25.254.100
[root@vsnode yxs]# ping 172.25.254.99
PING 172.25.254.99 (172.25.254.99) 56(84) 比特的数据。
64 比特,来自 172.25.254.99: icmp_seq=1 ttl=63 时间=0.460 毫秒
64 比特,来自 172.25.254.99: icmp_seq=2 ttl=63 时间=0.580 毫秒
^Z
[2]+ 已停止 ping 172.25.254.99
[root@vsnode yxs]# ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) 比特的数据。
64 比特,来自 192.168.0.10: icmp_seq=1 ttl=64 时间=0.469 毫秒
64 比特,来自 192.168.0.10: icmp_seq=2 ttl=64 时间=0.186 毫秒
^Z
[3]+ 已停止 ping 192.168.0.10
[root@vsnode yxs]# ping 192.168.0.20
PING 192.168.0.20 (192.168.0.20) 56(84) 比特的数据。
64 比特,来自 192.168.0.20: icmp_seq=1 ttl=64 时间=0.619 毫秒
64 比特,来自 192.168.0.20: icmp_seq=2 ttl=64 时间=0.240 毫秒
^Z
[4]+ 已停止 ping 192.168.0.20
client
[root@client yxs]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=128 时间=0.605 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=128 时间=0.523 毫秒
^Z
[1]+ 已停止 ping 192.168.0.200
[root@client yxs]# ping 172.25.254.100
PING 172.25.254.100 (172.25.254.100) 56(84) 比特的数据。
64 比特,来自 172.25.254.100: icmp_seq=1 ttl=64 时间=0.226 毫秒
64 比特,来自 172.25.254.100: icmp_seq=2 ttl=64 时间=0.245 毫秒
^Z
[2]+ 已停止 ping 172.25.254.100
[root@client yxs]# ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) 比特的数据。
64 比特,来自 192.168.0.10: icmp_seq=1 ttl=128 时间=0.412 毫秒
64 比特,来自 192.168.0.10: icmp_seq=2 ttl=128 时间=0.458 毫秒
^Z
[3]+ 已停止 ping 192.168.0.10
[root@client yxs]# ping 192.168.0.20
PING 192.168.0.20 (192.168.0.20) 56(84) 比特的数据。
64 比特,来自 192.168.0.20: icmp_seq=1 ttl=128 时间=0.398 毫秒
64 比特,来自 192.168.0.20: icmp_seq=2 ttl=128 时间=0.502 毫秒
^Z
[4]+ 已停止 ping 192.168.0.20
RS1
[root@RS1 yxs]# ping 172.25.254.100
PING 172.25.254.100 (172.25.254.100) 56(84) 比特的数据。
64 比特,来自 172.25.254.100: icmp_seq=1 ttl=64 时间=0.221 毫秒
64 比特,来自 172.25.254.100: icmp_seq=2 ttl=64 时间=0.312 毫秒
^Z
[1]+ 已停止 ping 172.25.254.100
[root@RS1 yxs]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=64 时间=0.015 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=64 时间=0.046 毫秒
^Z
[2]+ 已停止 ping 192.168.0.200
[root@RS1 yxs]# ping 172.25.254.99
PING 172.25.254.99 (172.25.254.99) 56(84) 比特的数据。
64 比特,来自 172.25.254.99: icmp_seq=1 ttl=63 时间=0.371 毫秒
64 比特,来自 172.25.254.99: icmp_seq=2 ttl=63 时间=0.502 毫秒
^Z
[3]+ 已停止 ping 172.25.254.99
[root@RS1 yxs]# ping 192.168.0.20
PING 192.168.0.20 (192.168.0.20) 56(84) 比特的数据。
64 比特,来自 192.168.0.20: icmp_seq=1 ttl=64 时间=0.351 毫秒
64 比特,来自 192.168.0.20: icmp_seq=2 ttl=64 时间=0.268 毫秒
^Z
[4]+ 已停止 ping 192.168.0.20
RS2
[root@RS2 yxs]# ping 172.25.254.100
PING 172.25.254.100 (172.25.254.100) 56(84) 比特的数据。
64 比特,来自 172.25.254.100: icmp_seq=1 ttl=64 时间=0.165 毫秒
64 比特,来自 172.25.254.100: icmp_seq=2 ttl=64 时间=0.233 毫秒
^Z
[1]+ 已停止 ping 172.25.254.100
[root@RS2 yxs]# ping 192.168.0.200
PING 192.168.0.200 (192.168.0.200) 56(84) 比特的数据。
64 比特,来自 192.168.0.200: icmp_seq=1 ttl=64 时间=0.017 毫秒
64 比特,来自 192.168.0.200: icmp_seq=2 ttl=64 时间=0.043 毫秒
^Z
[2]+ 已停止 ping 192.168.0.200
[root@RS2 yxs]# ping 172.25.254.99
PING 172.25.254.99 (172.25.254.99) 56(84) 比特的数据。
64 比特,来自 172.25.254.99: icmp_seq=1 ttl=63 时间=0.633 毫秒
64 比特,来自 172.25.254.99: icmp_seq=2 ttl=63 时间=0.374 毫秒
^Z
[3]+ 已停止 ping 172.25.254.99
[root@RS2 yxs]# ping 192.168.0.10
PING 192.168.0.10 (192.168.0.10) 56(84) 比特的数据。
64 比特,来自 192.168.0.10: icmp_seq=1 ttl=64 时间=0.227 毫秒
64 比特,来自 192.168.0.10: icmp_seq=2 ttl=64 时间=0.318 毫秒
^Z
[4]+ 已停止 ping 192.168.0.10