Linux系统:NFS服务器,DNS服务器
创始人
2024-11-15 01:03:27
0

一、搭建一个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 系统上
  1. 编辑 /etc/resolv.conf 文件

    sudo nano /etc/resolv.conf 
  2. 添加 DNS 服务器的 IP 地址

    将以下行添加到文件中:

    nameserver 你的_DNS_服务器_IP 
  3. 保存并退出

在 Windows 系统上
  1. 打开“控制面板”。
  2. 选择“网络和 Internet” > “网络和共享中心”。
  3. 点击“更改适配器设置”。
  4. 右键点击您正在使用的网络连接,选择“属性”。
  5. 选择“Internet 协议版本 4 (TCP/IPv4)”并点击“属性”。
  6. 选择“使用下面的 DNS 服务器地址”,并输入您的 DNS 服务器 IP 地址。
  7. 点击“确定”保存设置。

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 

完成

相关内容

热门资讯

[网鼎杯 2020 青龙组]A... 打开题目熟悉的php,代码审计可知这是一题反序列化类型的题目。按照常规方法࿰...
对链表进行插入排序 - 力扣(... 147. 对链表进行插入排序 - 力扣(LeetCode)(点击前面链接...
LeetCode每日一题_31... 解题思路: 可以先统计每一行和每一列的 1 的个数,记录在数组 rows...
月薪竟然高达60k,AI大模型... 你是不是最近经常看到或听到“AI大模型”这个关键词?我也是!所以好奇去B...
算法【N皇后问题位运算实现】 N皇后问题是一个经典的回溯算法问题,解决N皇后问题的时间复杂度是O(n!)࿰...
达梦数据库的系统视图v$cac... 达梦数据库的系统视图v$cachers达梦数据库的系统视图V$CACHERS的作用是显示缓存中的项信...
基于Python的河南省天气数... 有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主抓取天气网站以下是部分代...
MySQL--插入、更新与删除... 前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您...
ELK日志系统 目录ELK概念ELK实验数据流向架构步骤安装elasticsearch安装logstashes的主从...
php的mysql操作可实现简... 文章目录1. 表单和请求(1) 表单操作(2) 网络请求(3) $_REQUEST超全局变量2. m...