Linux系统:NFS服务器,DNS服务器

一、搭建一个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

完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值