VMwareUbuntu serverUbuntu desktop配置小型it系统

系统总体架构 

 系统要求

注意:非常抱歉之前没看清要求,给老师验收后才知道file server是不做mirror的!!!

附报告:ILoveSEU/Assign 2 - 副本.docx at main · marious123g/ILoveSEU · GitHub

众所周知,这是一个课程作业,以下要求由翻译软件翻译。

router、web和file服务器将使用UbuntuLinux20.04 server作为操作系统,而员工桌面将使用UbuntuLinux20.04 desktop

模拟公司内部网络系统,router将用作外部网络/互联网的NAT路由器和内部网络的路由器。它还为公司内部网络的mycompany.com域托管DNS服务。公司需要访问web服务器www.mycompany.com、DNS服务器DNS.mycompany.com和文件服务器home.mycompany.com。

web服务器将承载Apache2 web服务。文档根是/www,它从ZFS池webpool装入名为/webpool/doc的dataset,该dataset由镜像中2个磁盘的VDEV生成。

file服务器将承载一个ZFS池datapool,该数据池由配置为双奇偶校验RAID-Z pool的3个磁盘组成的VDEV组成。有一个dataset,即从池中创建的datapool/home。数据集datapool/home作为NFS共享导出,挂载到desktop的/home目录(存疑,这个目录特别阴间),并在desktop开机时自动挂载。

虚拟网络设置

由图片可知。需要三个子网,分别是intnet1intnet2,以及一个nat网络。注意,是否勾选 将主机虚拟适配器连接到此网络 和 使用本地DHCP服务将IP地址分配给虚拟机 全凭个人兴趣。warning:若nat网络勾选 将主机虚拟适配器连接到此网络 可能会导致无法上网

intnet1:

 intnet2:

 nat网络:

虚拟机设置 

共4台虚拟机,其配置如下(主要是网络选择,如果要添加硬盘,请务必关机!!!):

desktop:

 router:三个网卡

 web server:

file server:

 

 配置网络

router 

配置router的静态ip

sudo  pico /etc/netplan/00-installer-config.yaml

修改这个文件 

# This is the network config written by 'subiquity'
network:ethernets:ens33:addresses: - 10.0.2.100/24gateway4: 10.0.2.1nameservers: addresses: [10.0.2.100]optional: trueens38:addresses:- 192.168.1.1/24optional: trueens39:addresses:- 192.168.2.1/24optional: true version: 2

CTRL x保存,使配置生效:

sudo netplan apply

检查是否配置成功

ip addr

 出现三个网卡,对应三个地址

 web server

sudo  pico /etc/netplan/00-installer-config.yaml

注意:gateway4的地址就是router的ens38对应的地址 

# This is the network config written by 'subiquity'
network:ethernets:ens33:addresses: - 192.168.1.2/24gateway4: 192.168.1.1nameservers: addresses: [10.0.2.100]optional: trueversion: 2
sudo netplan apply

file server 

sudo  pico /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:ethernets:ens33:addresses: - 192.168.2.2/24gateway4: 192.168.2.1nameservers: addresses: [10.0.2.100]optional: trueversion: 2
sudo netplan apply

 desktop

点击右上角的电源标识,选择Wired Connected,选择wired settings

 如图配置

 然后把网关了,再开开

可以几台机器互相ping看看是否可以ping通。但此时除了router其他都不能上网,需要设置iptables

sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
exit

这样几台机器应该都可以ping baidu.com 

 配置DNS

安装bind9

sudo apt update
sudo apt-get install bind9 dnsutils
sudo  pico /etc/bind/named.conf.options
forwarders {
202.119.24.18;	# SEU DNS
8.8.8.8;	# Google Public DNS
};
sudo service bind9 restart

 可以dig uniseu.edu试试成没成,不过这么霉的网站就不要挖了

配置named.conf.local

sudo  pico /etc/bind/named.conf.local
//
// Do any local configuration here
//// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone 
"mycompany.com"{ type master;
file "/etc/bind/db.mycompany.com";
};
zone "2.0.10.in-addr.arpa" { type master;
notify no;
file "/etc/bind/db.10";
};
zone "1.168.192.in-addr.arpa" { type master;
notify no;
file "/etc/bind/db.192.168.1";
};
zone "2.168.192.in-addr.arpa" { type master;
notify no;
file "/etc/bind/db.192.168.2";
};

配置里提到了四个文件,逐个创建

设置forward zone文件:

创建db.mycompany.com(db.local相当于是个模板)

sudo cp /etc/bind/db.local /etc/bind/db.mycompany.com
sudo pico /etc/bind/db.mycompany.com
;
; BIND data file for local loopback interface
;
$TTL	604800
@	IN	SOA	dns.mycompany.com. asl.seu.edu.cn.(2019112001	; Serial604800		; Refresh86400		; Retry2419200		; Expire604800 )	; Negative Cache TTL
;
@	IN	NS	dns.mycompany.com.
@	IN	A	127.0.0.1
@	IN	AAAA	::1dns    	IN	A	10.0.2.100
desktop IN	A	192.168.1.3
home	IN	A	192.168.2.2
www    	IN	A	192.168.1.2#dns	IN	CNAME server
#www	IN	CNAME server

设置reverse zone 文件

创建db.10

sudo cp /etc/bind/db.local /etc/bind/db.10
sudo pico /etc/bind/db.10
;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	dns.mycompany.com. asl.seu.edu.cn. (2019112001	; Serial604800		; Refresh86400		; Retry2419200		; Expire604800 )	; Negative Cache TTL
;
@	IN	NS	dns.mycompany.com.
100	IN	PTR	DNS.mycompany.com.

 创建db.192.168.1

sudo cp /etc/bind/db.local /etc/bind/db.192.168.1
sudo pico /etc/bind/db.192.168.1
;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	dns.mycompany.com. asl.seu.edu.cn. (2019112001	; Serial604800		; Refresh86400		; Retry2419200		; Expire604800 )	; Negative Cache TTL
;
@	IN	NS	dns.mycompany.com.
2	IN	PTR	www.mycompany.com.

创建db.192.168.2 

sudo cp /etc/bind/db.local /etc/bind/db.192.168.2
sudo pico /etc/bind/db.192.168.2
;
; BIND reverse data file for local loopback interface
;
$TTL	604800
@	IN	SOA	dns.mycompany.com. asl.seu.edu.cn. (2019112001	; Serial604800		; Refresh86400		; Retry2419200		; Expire604800 )	; Negative Cache TTL
;
@	IN	NS	dns.mycompany.com.
2	IN	PTR	home.mycompany.com.

重启bind9

sudo service bind9 restart

检查配置是否有问题(自信的人可以跳过)不报错就行

cd /etc/bind
sudo named-checkconf
sudo named-checkzone mycompany.com db.mycompany.com
sudo named-checkzone 2.0.10.in-addr.arpa. db.10
sudo named-checkzone 1.168.192.in-addr.arpa. db.192.168.1
sudo named-checkzone 2.168.192.in-addr.arpa. db.192.168.2

检查是否dns能够正向解析,只需几台机子用host name互ping

检测是否能反向解析,可以在web server上

dig -x 192.168.2.2@dns.mycompany.com

 配置file server

关机!!!在file server上新增3个1G的SATA硬盘

  

在file server上,查看当前磁盘状况

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

列出来的这三个1G的小磁盘,这就是用来做zfs的

 安装zfsutils-linux,做一个名叫datapool的zpool,创建datapool/home的数据集

sudo apt install zfsutils-linux
#注意这里用来做zfs的盘一定是新加的盘!可能并不是sda sdb sdc
#以及很抱歉之前这里做成了mirror(跪
sudo zpool create datapool /dev/sda /dev/sdb /dev/sdc
sudo zfs create datapool/home

安装nfs-kernel-server

sudo apt install nfs-kernel-server

修改/etc/exports(大概是和权限有关吧

sudo pico /etc/exports

在最后面添加一行

/datapool/home	*(rw,sync,no_root_squash)

重启

sudo systemctl start nfs-kernel-server.service
reboot

在desktop

如果阁下是个谨慎的人,可以先查看有什么能挂的

showmount -e home.mycompany.com

 

开挂(但如果阁下并非本校本课程的学生,且阁下的/home文件夹下有一个用户名文件夹,建议不要挂到/home这么阴间的地方,而是挂载到一个空的文件夹下。因为如果不空,mount后文件夹原来的东西就看不到了。当然,挂了也不用担心,umount就又能看到了。

注:三三提供了一个方法,就是把原来/home的文件拷贝挪移到新的/home里,但是这样笔者出现了一些奇奇怪怪的问题,读者自求多福吧

#建议不要挂载到/home,因为笔者暂时没有找到很好的处理方法
sudo mount -t nfs home.mycompany.com:/datapool/home /home

设置开机自动挂(高危!)

sudo pico /etc/fstab

在最后添加一行,但同样的,笔者非常,非常不建议在这里真的挂到/home,建议添加个别的文件夹看看效果就行了。如果不信邪,建议在这里存个快照

#highly not recommended!!!!!!!!
home.mycompany.com:/datapool/home /home nfs defaults,user,exec 0 0

配置web server(apache)

安装lamp(可能只用apache就行了,不过之前把lamp都安了就这样吧

sudo apt update
sudo apt install lamp-server^
#注意这个尖尖

 编辑apache2的默认主页

sudo pico /etc/apache2/sites-available/000-default.conf

设置文档根为/www

 添加俩新sata盘,做池子,不多赘述,和file server如出一辙(注意名字是webpool/doc)但是笔者依然不明白意图何在

sudo apt install zfsutils-linux
#注意这里用来做zfs的盘一定是新加的盘!可能并不是sda sdb
sudo zpool create webpool mirror /dev/sda /dev/sdb
sudo zfs create webpool/doc
sudo apt install nfs-kernel-server
sudo pico /etc/exports
#添加一行
/webpool/doc	*(rw,sync,no_root_squash)
#重启
sudo systemctl start nfs-kernel-server.service
reboot

开挂

sudo mkdir /www
#localhost是因为自己挂自己,其实我也不理解到底为啥这样要求
sudo mount -t nfs localhost:/webpool/doc /www

 写一个主页

sudo pico /www/index.php
home This is the homepage of mycompany.com, welcome! 

'; ?>

这样直接访问会403,所以来一套组合拳

sudo chmod 777 /www
sudo chmod a=rw '/www'
sudo pico /etc/apache2/apache2.conf
#将"Require all denied"修改成"Require all granted"

 

感谢 解决Apache提示"You don't have permission to access..."错误_老蒋部落

重启apache 

sudo systemctl reload apache2

在desktop上访问www.mycompany.com

这样成功就可以了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部