1. Windows设计实验
1.1. 实验环境
Windows均为win10主机
Linux均为Ubuntu22.04
windows使用VMWare创建一台自己的虚拟机,使用NAT网络使其连上网络
网络拓扑图如下
主机 | 以太网 | VM1 | VM8 | WSL/WLAN |
---|---|---|---|---|
B(Windows1) | 169.254.4.203 | 192.168.56.1 | 192.168.40.1 | 10.198.41.220 |
C(Windows2) | 169.254.34.172 | 192.168.80.1 | 192.168.146.1 | |
ens33 | ens37/38 | |||
B1(Linux1) | 192.168.40.128 /24 | 169.254.4.2 /26 | ||
C1(Linux2) | 192.168.146.128 /24 | 169.254.4.4 /16 |
1.2. 实验步骤
为了使Linux1和LInux2互相ping通
- 两台windows的IP转发(可以转发)
- 两台windows的静态路由(转发给谁)
- 两台Linux的静态路由(转发给谁)
1.2.1. 两台windows的IP转发
两台windows都要进行以下操作
win+r
输入regedit
可进入注册表编辑器
在计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
中
修改IPEnableRouter
的值为1win+r
输入services.msc
可进入服务
找到Routing and Remote Access
,进入属性->设置启动类型为自动
->应用
->服务状态点击启动
,启动完成后->确定
完成后可查看
1.2.2. 两台windows的静态路由
两台windows都要进行以下操作
按住shift
右击win
->Windows Power Shell(管理员)
- window1(169.254.4.203)
添加路由
route add 192.168.146.0 mask 255.255.255.0 169.254.34.172 -p
- windows2(169.254.34.172)
添加路由
route add 192.168.40.0 mask 255.255.255.0 169.254.4.203 -p
完成后可以使用route print
查看是否增加一条永久路由,以windows2为例
重启Windows
1.2.3. 两台Linux的静态路由
两台Linux都要进行以下操作
可以进行网段的配置,也可以进行主机的配置,这里以主机为例(网段的配置在 Linux设计实验)
1.Linux1(192.168.40.128)
添加一条主机路由
route add -host 192.168.146.128 gw 192.168.11.3
2.Linux2(192.168.146.128)
添加一条主机路由
route add -host 192.168.40.128 gw 192.168.11.3
可以使用route -n
进行查看
1.3. 实验结果
Linux1(192.168.40.128)和Linux2(192.168.146.128)互相ping通
!!注意!!
:如果ping不通,可以尝试重启Windows
2. Linux设计实验
2.1. 实验环境
PC1为win10主机,在VMWare 17 Pro中创建了三台Linux主机
Linux:Ubuntu 22.04
在虚拟机网络编辑器中创建VMNet10和VMNet11,均为仅主机模式
Linux1创建一块网卡,选择自定义,选择VMNet10,
Linux2创建三块网卡,第一块选择自定义,选择VMNet10,
– 第二块选择NAT,确保能上网,
– 第三块选择自定义,选择VMNet11
Linux3创建一块网卡,选择自定义,选择VMNet11,
即让Linux1和Linux2位于VMNet10,Linux2与Linux3位于VMNet11
网络拓扑如图
2.2. 实验步骤
每台机器都有IP后,Linux1通过Linux2转发给Linux3,需要以下步骤
- 配置网卡(有名字)
- 配置ipv4转发(可转发)
- 配置防火墙(转发不拦截)
- 配置静态路由(通过谁转)
2.2.1. 配置网卡
- Linux1
使用ifconfig
命令设置Linux1的网卡信息
# 设置网卡
ifconfig ens33 192.168.10.10 netmask 255.255.255.0
# 重启网络服务
systemctl restart NetworkManager
- Linux2
使用ifconfig
命令设置Linux1的网卡信息
也可以选择使用dhcp服务自动分配IP,如使用dhclient -d
,成功分配IP地址后可以使用Ctrl+C
中止IP分配
# 设置网卡,为什么是这几个网卡我并不清楚
ifconfig ens33 192.168.10.3 netmask 255.255.255.0
ifconfig ens37 192.168.223.3 netmask 255.255.255.0
ifconfig ens38 192.168.11.3 netmask 255.255.255.0
# 重启网络服务
systemctl restart NetworkManager
- Linux3
使用ifconfig
命令设置Linux1的网卡信息
# 设置网卡
ifconfig ens33 192.168.11.11 netmask 255.255.255.0
# 重启网络服务
systemctl restart NetworkManager
完成后可以分别在这几台主机上使用ifconfig
查看ip是否分配正确
2.2.2. Linux2配置ipv4转发
- 临时配置
echo "1" > /proc/sys/net/ipv4/ip_forward
- 永久配置
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
# 使其立即生效
sysctl -p
完成后可以使用cat /proc/sys/net/ipv4/ip_forward
查看,为1说明开启了IP转发
2.2.3. Linux2配置防火墙
# 查看iptables的转发规则
iptables --list
# Chain FORWARD (policy DROP)这行中的策略(policy)是DROP,则需要修改成为ACCEPT
# 配置允许IP转发
iptables -P FORWARD ACCEPT
完成后可以使用iptables --list
查看若有Chain FORWARD (policy ACCEPT)
则代表成功
2.2.4. 配置静态路由
可以进行网段的配置,也可以进行主机的配置,这里以网段为例
- Linux1(192.168.10.10)
# 配置路由
route add -net 192.168.11.0/24 gw 192.168.10.3
- Linux2(192.168.11.11)
# 配置路由
route add -net 192.168.10.0/24 gw 192.168.11.3
完成后可分别使用route -n
查看路由表配置情况,如Linux2多出一行192.168.10.0
网段的路由
2.3. 实验结果
Linux1(192.168.10.10)和Linux3(192.168.11.11)互相ping通