一、搭建一个nfs服务器,客户端可以从服务器的/share目录上传并下载文件
1. 安装 NFS 服务
在 NFS 服务器上,首先需要安装 NFS 服务。以 Ubuntu 为例,可以使用以下命令:
sudo apt update sudo apt install nfs-kernel-server
2. 创建共享目录
创建一个共享目录,例如 /share
:
sudo mkdir -p /share
然后设置适当的权限:
sudo chown nobody:nogroup /share sudo chmod 777 /share
3. 配置 NFS 导出
编辑 NFS 配置文件 /etc/exports
,添加共享目录的配置。打开文件:
sudo nano /etc/exports
在文件末尾添加以下内容:
/share 192.168.1.100(rw,sync,no_subtree_check)
4. 导出共享目录
保存并关闭文件后,运行以下命令以导出共享目录:
sudo exportfs -a
5. 启动 NFS 服务
确保 NFS 服务正在运行:
sudo systemctl restart nfs-kernel-server sudo systemctl enable nfs-kernel-server
6. 配置防火墙(可选)
如果服务器上启用了防火墙,需要允许 NFS 服务的相关端口。以 UFW 为例:
sudo ufw allow from 192.168.1.100 to any port nfs
7. 在客户端挂载 NFS 共享
在客户端上,首先安装 NFS 客户端:
sudo apt update sudo apt install nfs-common
然后创建一个挂载点,例如 /mnt/nfs_share
:
sudo mkdir -p /mnt/nfs_share
使用以下命令挂载 NFS 共享:
sudo mount 192.168.1.10:/share /mnt/nfs_share
8. 测试上传和下载
现在可以在 /mnt/nfs_share
目录中上传和下载文件了。可以使用以下命令进行测试:
# 上传文件 echo "Hello NFS" > /mnt/nfs_share/testfile.txt # 下载文件 cat /mnt/nfs_share/testfile.txt
9. 开机自动挂载(可选)
如果希望在客户端重启后自动挂载 NFS 共享,可以编辑 /etc/fstab
文件,添加以下行:
192.168.1.10:/share /mnt/nfs_share nfs defaults 0 0
完成
二、搭建一个web服务器,客户端通过www.haha.com访问该网站时能够看到内容是this is haha
1. 安装 Nginx
首先,更新软件包列表并安装 Nginx:
sudo apt update sudo apt install nginx
2. 启动 Nginx 服务
安装完成后,启动 Nginx 服务并设置为开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
3. 配置网站
创建一个新的配置文件以设置 www.haha.com
的虚拟主机。首先,进入 Nginx 的配置目录:
cd /etc/nginx/sites-available/
然后创建一个新的配置文件:
sudo nano haha.com
在文件中添加以下内容:
server { listen 80; server_name www.haha.com; location / { root /var/www/haha; index index.html; } }
4. 创建网站目录
创建 Nginx 配置中指定的根目录 /var/www/haha
:
sudo mkdir -p /var/www/haha
5. 创建 HTML 文件
在新创建的目录中创建一个 index.html
文件,内容为 "this is haha":
echo "this is haha" | sudo tee /var/www/haha/index.html
6. 启用网站配置
启用刚才创建的虚拟主机配置:
sudo ln -s /etc/nginx/sites-available/haha.com /etc/nginx/sites-enabled/
7. 测试 Nginx 配置
在重新加载 Nginx 之前,测试配置文件是否正确:
sudo nginx -t
如果没有错误消息,继续执行下一步。
8. 重新加载 Nginx
重新加载 Nginx 使配置生效:
sudo systemctl reload nginx
9. 配置 DNS
确保 www.haha.com
的 DNS 记录指向服务器 IP 地址。
10. 测试访问
在浏览器中访问 http://www.haha.com
,应该能够看到页面内容为 "this is haha"。
完成
三、搭建一个dns服务器,客户端可以使用该服务器解析域名www.haha.com为web服务器的ip
1. 安装 BIND
首先,更新软件包列表并安装 BIND:
sudo apt update sudo apt install bind9 bind9utils
2. 配置 BIND
2.1 编辑 BIND 主配置文件
打开 BIND 的主配置文件 /etc/bind/named.conf.options
:
sudo nano /etc/bind/named.conf.options
在 options
块中,确保以下内容存在:
options { directory "/var/cache/bind"; // 允许来自任何 IP 的查询 allow-query { any; }; recursion no; // 关闭递归查询 };
2.2 创建区域配置文件
打开区域配置文件 /etc/bind/named.conf.local
:
sudo nano /etc/bind/named.conf.local
在文件末尾添加以下内容,配置 www.haha.com
的域名解析:
zone "haha.com" { type master; file "/etc/bind/db.haha.com"; };
2.3 创建区域数据文件
创建区域数据文件 /etc/bind/db.haha.com
:
sudo cp /etc/bind/db.local /etc/bind/db.haha.com
然后编辑该文件:
sudo nano /etc/bind/db.haha.com
将文件内容修改为以下内容:
$TTL 604800 @ IN SOA ns.haha.com. admin.haha.com. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.haha.com. ns IN A 你的_DNS_服务器_IP @ IN A 你的_Web_服务器_IP www IN A 你的_Web_服务器_IP
3. 检查配置文件
检查 BIND 配置文件是否有错误:
sudo named-checkconf sudo named-checkzone haha.com /etc/bind/db.haha.com
4. 启动 BIND 服务
启动 BIND 服务并设置为开机自启:
sudo systemctl start bind9 sudo systemctl enable bind9
5. 配置防火墙
如果服务器上启用了防火墙,需要允许 DNS 查询(UDP 53 端口):
sudo ufw allow 53/udp
6. 配置客户端使用 DNS 服务器
在客户端上,需要将 DNS 服务器的 IP 地址添加到网络配置中。可以通过编辑 /etc/resolv.conf
文件来设置:
sudo nano /etc/resolv.conf
添加以下内容:
nameserver 你的_DNS_服务器_IP
7. 测试 DNS 解析
在客户端上,使用以下命令测试 DNS 解析是否正常:
nslookup www.haha.com
如果配置正确,应该会看到 www.haha.com
被解析为 Web 服务器 IP 地址。
完成
四、将客户端的ip地址中的域名解析服务器地址修改为第3题的dns服务器,使用ping命令ping www.haha.com看能否ping通,用curl命令访问curl www.haha.com看能否看到web页面内容
1. 修改客户端的 DNS 服务器地址
在客户端上,需要将 DNS 服务器的地址设置为搭建的 DNS 服务器的 IP 地址。
在 Linux 系统上
编辑
/etc/resolv.conf
文件:sudo nano /etc/resolv.conf
添加 DNS 服务器的 IP 地址:
将以下行添加到文件中:
nameserver 你的_DNS_服务器_IP
保存并退出。
在 Windows 系统上
- 打开“控制面板”。
- 选择“网络和 Internet” > “网络和共享中心”。
- 点击“更改适配器设置”。
- 右键点击您正在使用的网络连接,选择“属性”。
- 选择“Internet 协议版本 4 (TCP/IPv4)”并点击“属性”。
- 选择“使用下面的 DNS 服务器地址”,并输入您的 DNS 服务器 IP 地址。
- 点击“确定”保存设置。
2. 测试 DNS 解析
在客户端上,使用 ping
命令测试 www.haha.com
是否能被解析:
ping www.haha.com
如果 DNS 配置正确,应该会看到类似以下的输出,显示 www.haha.com
的 IP 地址:
PING www.haha.com (你的_Web_服务器_IP) 56(84) bytes of data. 64 bytes from 你的_Web_服务器_IP: icmp_seq=1 ttl=64 time=0.123 ms
3. 使用 curl
命令访问 Web 页面
接下来,使用 curl
命令访问 www.haha.com
,以查看是否能够获取到网页内容:
curl http://www.haha.com
如果一切配置正确,您应该会看到输出为:
this is haha