当前位置: 首页 > news >正文

【project】--模拟搭建一个中小型校园网的网络平台

文章目录

      • 项目介绍
      • 设备及IP地址分配
      • node01配置
        • 网卡配置
        • DHCP配置
        • 路由转发
      • node02配置
        • 网卡配置
        • 安装并配置授权 Unbound DNS
      • node03配置
        • 网卡配置
        • 安装防火墙
        • SNAT配置
        • DNAT配置(端口转发)
        • 纯缓存 Unbound DNS 配置
      • node04配置
      • node05配置
      • node06配置

项目介绍

本项目通过1台物理机和VMware Workstation软件,构建了一个具有4个内部子网、一个外部模拟公网、4台虚拟交换机和6台虚拟机的网络
在这里插入图片描述

设备及IP地址分配

物理机配置虚拟机名称服务器功能描述网卡及IP地址配置网卡连接的虚拟交换机
Win10
内存≧16GB
10.1.80.X
能上互联网
node01软路由器
DHCP
ens37: 192.168.1.11/24
ens38: 192.168.2.11/24
ens39: 192.168.3.11/24
ens40: 192.168.4.11/24
VMnet1
VMnet2
VMnet3
VMnet4
node02授权Unbound DNSens37: 192.168.1.12/24VMnet1
node03Firewalld防火墙
SNAT内网用户共享上网
DNAT发布内网应用服务
纯缓存Unbound DNS
内网卡ens37: 192.168.1.13
外网卡ens33: 10.1.80.X+60
VMnet1
VMnet8
node04httpd+vsftpd+MariaDBens37: 192.168.1.14/24VMnet1
node05用于测试的流动客户机,在外网测试时,其网卡应连接至VMnet0虚拟交换机,在内网测试时, 其网卡应先后连接至VMnet1,Vmnet2、VMnet3、VMnet4虚拟交换机,以作为不同子网内客户机角色对搭建的服务器进行验证
node06NFS+Samba共享服务
Postfix+Dovecot服务
ens37: 192.168.1.16/24VMnet1

node01配置

systemctl stop systemd-resolved
systemctl disable systemd-resolved
网卡配置
network:version: 2renderer: networkdethernets:ens37:dhcp4: noaddresses: [192.168.1.11/24]routes:- to: 0.0.0.0/0  # 额外的默认路由(可选)via: 192.168.1.13on-link: true  # 替代旧的 on-link: ens37ens38:dhcp4: noaddresses: [192.168.2.11/24]ens39:dhcp4: noaddresses: [192.168.3.11/24]ens40:dhcp4: noaddresses: [192.168.4.11/24]
DHCP配置
apt update
apt install isc-dhcp-server -y
vim /etc/dhcp/dhcpd.conf#vmnet1
subnet 192.168.1.0 netmask 255.255.255.0 {range 192.168.1.20 192.168.1.100;option routers 192.168.1.11;option domain-name-servers 192.168.1.12;
}
#vmnet2
subnet 192.168.2.0 netmask 255.255.255.0 {range 192.168.2.20 192.168.2.100;option routers 192.168.2.11;option domain-name-servers 192.168.1.12;
}
#vmnet3
subnet 192.168.3.0 netmask 255.255.255.0 {range 192.168.3.20 192.168.3.100;option routers 192.168.3.11;option domain-name-servers 192.168.1.12;host principal-pc {  # 为校长计算机保留IPhardware ethernet 00:0c:29:xx:xx:xx;  # 替换为校长计算机的MAC地址fixed-address 192.168.3.58;}
}
#vmnet4
subnet 192.168.4.0 netmask 255.255.255.0 {range 192.168.4.20 192.168.4.100;option routers 192.168.4.11;option domain-name-servers 192.168.1.12;
}vim /etc/default/isc - dhcp - server
INTERFACESv4="ens37 ens38 ens39 ens40"systemctl start isc-dhcp-server
systemctl enable isc-dhcp-server
路由转发
vim /etcc/sysctl.conf找到 `net.ipv4.ip_forward=0` 这一行,将其修改为 `net.ipv4.ip_forward=1`

node02配置

网卡配置
network:version: 2renderer: networkdethernets:ens37:dhcp4: noaddresses: [192.168.1.12/24]
安装并配置授权 Unbound DNS
systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo "nameserver 192.168.1.2" | sudo tee /etc/resolv.confapt install unbound
vim /etc/unbound/unbound.conf
server:# 基本设置interface: 192.168.1.12  # 监听内网IPinterface: 127.0.0.1      # 允许本机查询access-control: 192.168.1.0/24 allow  # 允许子网1查询access-control: 192.168.2.0/24 allow  # 允许子网2查询access-control: 192.168.3.0/24 allow  # 允许子网3查询access-control: 192.168.4.0/24 allow  # 允许子网4查询do-ip4: yesdo-ip6: noverbosity: 1# 权威DNS配置(定义本地域)local-zone: "example.local." staticlocal-data: "node01.example.local. IN A 192.168.1.11"local-data: "node04.example.local. IN A 192.168.1.14"local-data: "node06.example.local. IN A 192.168.1.16"# 递归解析优化prefetch: yescache-min-ttl: 3600# 递归解析转发规则(外部查询)
forward-zone:name: "."forward-addr: 8.8.8.8forward-addr: 114.114.114.114systemctl start unbound
systemctl enable unbound

node03配置

网卡配置
#01-netcfg.yaml
network:version: 2renderer: networkdethernets:ens33:dhcp4: noaddresses:- 192.168.121.134/24gateway4: 192.168.121.2nameservers:addresses:- 114.114.114.114#02-vmnet1.yaml
network:version: 2renderer: networkdethernets:ens37:addresses:- 192.168.1.13/24
安装防火墙
apt install -y firewalld
systemctl start firewalld
systemctl enable firewalld#配置内外网卡
#将 ens37 添加到 internal 区域:
firewall-cmd --permanent --zone=internal --add-interface=ens37
#将 ens33 添加到 external 区域:
firewall-cmd --permanent --zone=external --add-interface=ens33#设置服务访问规则:比如允许 SSH 服务通过防火墙(如果需要远程管理服务器),执行命令 
firewall-cmd --permanent --zone=internal --add-service=ssh firewall-cmd --reload
SNAT配置
#开启ip转发
vim /etc/sysctl.conf找到 `net.ipv4.ip_forward=0` 这一行,将其修改为 `net.ipv4.ip_forward=1`
# 使配置立即生效
sysctl -p#配置 SNAT 规则:使用命令 
firewall-cmd --permanent --add-masquerade 
#这条命令会在 public 区域(默认)开启源地址伪装,也就是 SNAT 功能。如果网卡在其他区域,需指定对应区域,如 --zone=external 
# firewall-cmd --permanent --zone=external --add-masquerade
DNAT配置(端口转发)
# Web (HTTP 80)
firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.1.14# FTP (21)
firewall-cmd --permanent --add-forward-port=port=21:proto=tcp:toport=21:toaddr=192.168.1.14# DNS (53 UDP)
firewall-cmd --permanent --add-forward-port=port=53:proto=udp:toport=53:toaddr=192.168.1.12# 邮件服务(SMTP 25)
firewall-cmd --permanent --add-forward-port=port=25:proto=tcp:toport=25:toaddr=192.168.1.16# 重新加载 Firewalld
firewall-cmd --reload# 查看转发规则
firewall-cmd --list-forward-ports
纯缓存 Unbound DNS 配置
systemctl stop systemd-resolved
systemctl disable systemd-resolved
echo "nameserver 192.168.1.13" | sudo tee /etc/resolv.confvim /etc/unbound/unbound.confserver:# 基本设置interface: 192.168.1.13  # 监听内网IPinterface: 127.0.0.1      # 允许本机查询access-control: 192.168.1.0/24 allow  # 允许子网1查询access-control: 192.168.2.0/24 allow  # 允许子网2查询access-control: 192.168.3.0/24 allow  # 允许子网3查询access-control: 192.168.4.0/24 allow  # 允许子网4查询do-ip4: yesdo-ip6: noverbosity: 1# 纯缓存优化prefetch: yescache-min-ttl: 3600num-threads: 4  # 根据CPU核心数调整# 所有查询转发到 node02(授权DNS)
forward-zone:name: "."forward-addr: 192.168.1.12  # 优先使用 node02forward-addr: 8.8.8.8       # 备用公共DNSsystemctl restart unbound
systemctl enable unbound
9
# 测试 node03 自身解析
dig @127.0.0.1 google.com# 测试 node02(授权DNS)
dig @192.168.1.12 example.local

node04配置

node05配置

node06配置

相关文章:

  • SpringBoot 常用注解通俗解释
  • 何恺明团队又发新作!!-用于物理推理的去噪哈密顿网络
  • Linux基础命令总结
  • Set的学习
  • 论文如何降低AIGC?(完整指南版)
  • 【Linux系统篇】:信号的生命周期---从触发到保存与捕捉的底层逻辑
  • 长途骑行装备攻略:VELO维乐 Angel Revo坐垫伴我畅享旅途
  • arcpy列表函数的应用
  • ClickHouse查询执行与优化
  • Linux基础篇、第4章_03系统磁盘高级管理LVM 逻辑卷管理器
  • 腾讯二面:TCC分布式事务 | 图解TCC|用Go语言实现一个TCC
  • java中的Selector详解
  • 高中数学联赛模拟试题精选第18套几何题
  • 前端职业发展:如何规划前端工程师的成长路径?
  • 二叉树层序遍历
  • React-Hook
  • Java基础第五章、面向对象程序设计
  • AIGC赋能智慧医疗:从影像诊断到个性化治疗的革命性突破
  • 初始网络流(最小割)
  • 构建AI大模型应用的LangChain之核心功能
  • 央视曝光假进口保健品:警惕!保税仓发货不等于真进口
  • 我国首个核电工业操作系统发布,将在华龙一号新机组全面应用
  • 地下管道密布成难题,道路修整如何破局?
  • 在县中,我看到“走出去”的渴望与“留下来”的惯性
  • 保时捷中国研发中心落户上海虹桥商务区,计划下半年投入运营
  • 敲定!今年将制定金融法、金融稳定法