Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解

1.Linux操作系统网络配置:

设置虚拟机的网卡为仅主机模式,并要求服务器采用双网卡, ens33 IP地址设置为192.168. 5.x/24(其中x学号),ens37 IP地址设置为192.168.6.x/24(其中x学号)。DNS地址61.177.7.1设置完毕后激活。

设置虚拟机网络配置(仅主机模式)

  1. 打开虚拟机管理软件(比如 VMware 或 VirtualBox)。
  2. 选择你的虚拟机,在虚拟机设置中找到网络适配器设置。
  3. 将网络适配器模式更改为"仅主机模式"或"Host-only"模式。

设置服务器双网卡

编辑网络配置文件,假设使用的是 Ubuntu 或基于 Debian 的系统。

bash 复制代码
sudo nano /etc/netplan/01-netcfg.yaml

设置 ens33 网卡的 IP 地址为 192.168.5.x/24,其中 x 是指定的学号。

bash 复制代码
network:version: 2renderer: networkdethernets:ens33:addresses: [192.168.5.x/24]

设置 ens37 网卡的 IP 地址为 192.168.6.x/24,x 是指定的学号。

bash 复制代码
network:version: 2renderer: networkdethernets:ens37:addresses: [192.168.6.x/24]

设置 DNS 服务器地址为 61.177.7.1,可以在同一文件中进行配置。

bash 复制代码
network:version: 2renderer: networkdethernets:ens33:addresses: [192.168.5.x/24]ens37:addresses: [192.168.6.x/24]nameservers:addresses: [61.177.7.1]

应用配置更改

bash 复制代码
sudo netplan apply

重新启动网络服务

bash 复制代码
sudo systemctl restart systemd-networkd

2.Linux操作系统用户和用户组设置:

请按下表创建好各部门的员工账户及用户组。

账 户 UID 部 门 部 门 经 理 用 户 组 GID
tom 801 设计部 design 601
jack 802 设计部 manager 603
bill 803 市场部 manager 603
rose 804 市场部 market 602

创建部门经理组和用户组

bash 复制代码
sudo groupadd manager -g 603
sudo groupadd design -g 601
sudo groupadd market -g 602

创建用户并分配到相应的用户组

bash 复制代码
sudo useradd -u 801 -g design -G design -s /bin/bash tom
sudo useradd -u 802 -g design -G manager -s /bin/bash jack
sudo useradd -u 803 -g market -G manager -s /bin/bash bill
sudo useradd -u 804 -g market -G market -s /bin/bash rose

以上命令中:

  • -g 参数用于指定主用户组。
  • -G 参数用于指定附加用户组。
  • -s 参数用于指定用户的默认 shell。

3.Linux操作系统用户目录及相应权限设置:

创建公用目录/home/public,除上面部门经理外,其他员工只可读取其中内容,分别创建设计部/home/design、市场部/home/market部门目录,只允许本部门员工读写其中的内容。

创建目录和设置权限

创建公共目录 /home/public

bash 复制代码
sudo mkdir /home/public
sudo chmod -R 755 /home/public  # 设置目录权限为755,允许所有用户读取目录内容
sudo chown -R root:root /home/public  # 设置目录所有者为root用户和root组

创建设计部目录 /home/design

bash 复制代码
sudo mkdir /home/design
sudo chmod -R 770 /home/design  # 设置目录权限为770,只允许所有者和所属组成员读写目录内容
sudo chown -R root:design /home/design  # 设置目录所有者为root用户,所属组为设计部用户组

创建市场部目录 /home/market

bash 复制代码
sudo mkdir /home/market
sudo chmod -R 770 /home/market  # 设置目录权限为770,只允许所有者和所属组成员读写目录内容
sudo chown -R root:market /home/market  # 设置目录所有者为root用户,所属组为市场部用户组

添加用户到相应的用户组

bash 复制代码
sudo usermod -aG design jack  # 将用户jack添加到设计部用户组
sudo usermod -aG market bill rose  # 将用户bill和rose添加到市场部用户组

这些命令将创建目录并设置相应的权限,确保只有特定的用户有权限读取和写入各自部门的目录内容。注意:需要根据实际情况替换相应的用户名和用户组名。

服务器配置

1.DHCP服务器配置:

要求安装相关软件包并启动相关服务,定义作用域子网192.168.5.0,地址掩码为255.255.255.0,地址范围为192.168.5.20~192.168.5.250。所有作用域的客户机默认网关地址为192.168.5.1。所有作用域的客户机后缀域名为test.com,DNS服务器地址为61.177.7.1。服务器的默认地址租约为36000秒,最大地址租约为72000秒。

步骤一:安装 DHCP 服务器软件包

首先,安装 isc-dhcp-server 软件包:

bash 复制代码
sudo apt-get update
sudo apt-get install isc-dhcp-server

步骤二:配置 DHCP 服务器

编辑 DHCP 服务器配置文件 /etc/dhcp/dhcpd.conf

bash 复制代码
sudo nano /etc/dhcp/dhcpd.conf

在文件中添加以下配置内容:

bash 复制代码
subnet 192.168.5.0 netmask 255.255.255.0 {
    range 192.168.5.20 192.168.5.250;
    option routers 192.168.5.1;
    option domain-name "test.com";
    option domain-name-servers 61.177.7.1;
    default-lease-time 36000;
    max-lease-time 72000;
}

这些配置指令定义了一个名为 subnet 的子网,指定了地址范围、默认网关、域名、DNS 服务器以及地址租约时间。

步骤三:启动 DHCP 服务器服务

启动 DHCP 服务器服务并重新加载配置:

bash 复制代码
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl restart isc-dhcp-server

注意事项

  • 确保在配置文件中指定的网段和 IP 地址范围不会与现有网络冲突。

  • 在完成配置后确保防火墙允许 DHCP 数据包通过,以便客户端能够接收到 DHCP 提供的 IP 地址和配置信息。

2.NFS服务器配置:

要求安装相关软件包并启动相关服务,设置不同的共享目录,Linux系统下供不同用户群使用,其中/home/public:为通用共享目录,允许所有客户访问,权限为只读,仅经理有读写权限(两部门经理IP分别为192.168.5.8和192.168.6.8)。/home/design:为设计部共享目录,只允许设计部的用户访问,有读写权限(设计部IP为192.168.5.0/24)/home/market:为市场部共享目录,只允许市场部的用户访问,有读写权限。(市场部IP为192.168.6.0/24)

步骤一:安装 NFS 服务器软件包

首先,安装 NFS 服务器软件包。具体命令可能因版本而异,下面是一般性的安装命令:

bash 复制代码
sudo apt-get update
sudo apt-get install nfs-kernel-server

步骤二:配置 NFS 共享

编辑 NFS 服务器的共享配置文件 /etc/exports

bash 复制代码
sudo nano /etc/exports

在文件中添加以下内容:

bash 复制代码
# 公共共享目录,只读权限,经理读写权限
/home/public 192.168.5.8(rw,sync) 192.168.6.8(rw,sync)
# 设计部共享目录,只允许设计部IP段访问,读写权限
/home/design 192.168.5.0/24(rw,sync)
# 市场部共享目录,只允许市场部IP段访问,读写权限
/home/market 192.168.6.0/24(rw,sync)

以上配置允许指定的 IP 地址范围访问相应的共享目录,并按照要求设置了读写权限。

步骤三:重启 NFS 服务

bash 复制代码
sudo systemctl restart nfs-kernel-server

注意事项

  • 确保在配置 NFS 服务器后,目录权限和共享设置符合要求。

  • 在配置完毕后确保防火墙允许 NFS 的访问,确保客户端能够正确访问共享目录。

3.Samba服务器配置:

要求安装相关软件包并启动相关服务,设置不同的共享目录,Windows系统下供不同用户群使用,其中/home/public:为通用共享目录,允许所有客户访问,权限为只读,仅经理有读写权限。/home/design:为设计部共享目录,只允许设计部的用户访问,有读写权限/home/market:为市场部共享目录,只允许市场部的用户访问,有读写权限。

步骤一:安装 Samba 软件包

首先,安装 Samba 软件包。同样的具体命令可能因发行版而异,下面是一般性的安装命令:

bash 复制代码
sudo apt-get update
sudo apt-get install samba

步骤二:配置 Samba

编辑 Samba 的配置文件 /etc/samba/smb.conf

bash 复制代码
sudo nano /etc/samba/smb.conf

在文件中添加以下内容:

bash 复制代码
[public]
   path = /home/public
   browsable = yes
   writable = no
   guest ok = yesread only = yes
   valid users = manager
[design]
   path = /home/design
   browsable = yes
   writable = yes
   valid users = @design
[market]
   path = /home/market
   browsable = yes
   writable = yes
   valid users = @market

设置 Samba 用户访问权限:

bash 复制代码
sudo smbpasswd -a manager  # 添加经理用户
sudo smbpasswd -a design -g  # 添加设计部用户并指定用户组
sudo smbpasswd -a market -g  # 添加市场部用户并指定用户组

步骤三:重启 Samba 服务

bash 复制代码
sudo systemctl restart smbd

注意事项

  • 确保 Samba 的配置文件中的路径和权限符合要求。

  • 配置完毕后确保防火墙允许 Samba 的访问,确保客户端能够正确访问共享目录。

4.WWW服务器配置:

要求安装相关软件包并启动相关服务,在服务器上创建两个基于地址(分别是ens33、ens37地址)的虚拟主机,使用端口为标准的80。模拟页面要求显示姓名拼音---IP。

步骤一:安装 Apache HTTP 服务器

安装 Apache 软件包。

bash 复制代码
sudo apt-get update
sudo apt-get install apache2

确认 Apache 服务已启动:

bash 复制代码
sudo systemctl start apache2
sudo systemctl enable apache2

步骤二:创建虚拟主机配置

编辑 Apache 的虚拟主机配置文件 /etc/apache2/sites-available/yourwebsite.conf,用你想要的网站名替换 yourwebsite

bash 复制代码
sudo nano /etc/apache2/sites-available/yourwebsite.conf
  1. 在文件中添加虚拟主机配置。下面是一个例子:
bash 复制代码
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/ens33
    <Directory /var/www/ens33>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog 
${APACHE_LOG_DIR}/error.log
    CustomLog $
{APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/ens37
    <Directory /var/www/ens37>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog 
${APACHE_LOG_DIR}/error.log
    CustomLog $
{APACHE_LOG_DIR}/access.log combined
</VirtualHost>

确保将 ens33ens37 替换为你的实际地址,然后保存并关闭文件。

步骤三:创建网站内容

/var/www/ 目录下创建 ens33ens37 目录:

bash 复制代码
sudo mkdir -p /var/www/ens33
sudo mkdir -p /var/www/ens37

在每个目录中创建包含姓名拼音---IP 的简单 HTML 文件(例如 index.html):

/var/www/ens33/index.html:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>姓名拼音---ens33 IP</title>
</head>
<body>
    <h1>姓名拼音---ens33 IP</h1>
    <p>这里填写ens33地址的IP</p>
</body>
</html>

/var/www/ens37/index.html:

html 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>姓名拼音---ens37 IP</title>
</head>
<body>
    <h1>姓名拼音---ens37 IP</h1>
    <p>这里填写ens37地址的IP</p>
</body>
</html>

步骤四:启用虚拟主机并重启 Apache 服务

启用你创建的虚拟主机配置:

bash 复制代码
sudo a2ensite yourwebsite.conf

重新加载 Apache 配置并重启 Apache 服务:

bash 复制代码
sudo systemctl reload apache2
sudo systemctl restart apache2

现在,当你在浏览器中输入相应的 ens33 或 ens37 地址,将显示相应的姓名拼音和对应的 IP 地址。

5.DNS服务器配置

要求安装相关软件包并启动相关服务,实现在abc.com区域实现相应主机正反向解析,具体解析如下:dns.abc.com≒eth0地址;www.abc.com≒192.168.5.81;ftp. abc.com≒192.168.5.82, 并在本机用nslookup测试。(15分)

步骤一:安装 Bind9 DNS 服务器

安装 Bind9 软件包。

bash 复制代码
sudo apt-get update
sudo apt-get install bind9

确认 Bind9 服务已启动:

bash 复制代码
sudo systemctl start bind9
sudo systemctl enable bind9

步骤二:配置 DNS 区域

编辑 Bind9 的主配置文件 /etc/bind/named.conf.local

bash 复制代码
sudo nano /etc/bind/named.conf.local

在文件中添加区域配置信息:

bash 复制代码
zone "abc.com" {type master;
    file "/etc/bind/zones/abc.com.zone";
    allow-update { none; };
};

步骤三:创建区域文件

创建区域文件 /etc/bind/zones/``abc.com``.zone

bash 复制代码
sudo nano /etc/bind/zones/abc.com.zone

在文件中添加主机和 IP 地址的解析信息:

bash 复制代码
$TTL 86400
@   IN  SOA ns1.abc.com. admin.abc.com. (
        2023120601 ; Serial
        3600       ; Refresh
        1800       ; Retry
        604800     ; Expire
        86400      ; Negative Cache TTL
)
@       IN  NS  ns1.abc.com.
dns     IN  A   eth0地址
www     IN  A   192.168.5.81
ftp     IN  A   192.168.5.82

确保将 "eth0地址" 替换为你实际的 eth0 网络接口地址。

步骤四:重启 Bind9 服务

bash 复制代码
sudo systemctl restart bind9

步骤五:测试 DNS 解析

在本机使用 nslookup 命令来测试 DNS 解析是否正确:

bash 复制代码
nslookup dns.abc.com
nslookup www.abc.com
nslookup ftp.abc.com

到这里即完成配置 DNS 服务器以实现在 abc.com 区域内的主机名和 IP 地址的正反向解析。

相关推荐
zfxwasaboy23 分钟前
Linux宏clamp(val, lo, hi)的作用
linux·运维·服务器
苍何42 分钟前
30分钟用 Agent 搓出一家跨境网店,疯了
后端
ssshooter1 小时前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
追逐时光者1 小时前
一个基于 .NET Core + Vue3 构建的开源全栈平台 Admin 系统
后端·.net
程序员飞哥1 小时前
90后大龄程序员失业4个月终于上岸了
后端·面试·程序员
我爱学习好爱好爱2 小时前
Ansible 常用模块详解:lineinfile、replace、get_url实战
linux·python·ansible
吴声子夜歌3 小时前
TypeScript——基础类型(三)
java·linux·typescript
GetcharZp3 小时前
Git 命令行太痛苦?这款 75k Star 的神级工具,让你告别“合并冲突”恐惧症!
后端
DA02213 小时前
系统移植-STM32MP1启动详解(BootROM)
linux·bsp·系统移植
春日见3 小时前
自驾算法的日常工作?如何提升模型性能?
linux·人工智能·机器学习·计算机视觉·自动驾驶