1616 字
8 分钟
Linux 服务器搭建(二)

Linux服务器搭建#

1 准备工作#

image-20240720155458406
DHCP:
IP:192.168.1.254/24
地址池:192.168.1.100-192.168.1.150
下发DNS:192.168.1.50
下发网关:192.168.1.254
下发掩码:255.255.255.0
DNS:
IP:192.168.1.50/24
ftp.zyl.cn ---- 192.168.1.30
dhcp.zyl.cn ---- 192.168.1.254
dns1.zyl.cn ---- 192.168.1.50
zyl.cn ----- 192.168.1.1
FTP:
IP:192.168.1.30/24
三台虚拟机 --- 处于同一张网卡 仅主机模式 关闭VMware带的dhcp服务
本地源搭建
cd /etc/yum.repos.d/
vim local.repo
[local-yum]
name=local-yum
baseurl=file:///run/media/zyl/CentOS\ 7\ x86_64
gpgcheck=0
yum clean all
yum makecache
防火墙
Firewalls
systemctl stop firewalld.service //临时关闭
systemctl disable firewalld.service //永久关闭
selinux
setenforce 0 //临时关闭
vim /etc/selinux/config //永久关闭
SELINUX=disabled

2 DHCP服务器#

1.静态ip要配好
2.本地源要搭建
3.安装
yum -y install dhcp.x86_64 //安装dhcp服务
rpm -q dhcp //确认软件包安装完成
rpm -ql dhcp //查看自带的文件列表
/etc/dhcp/dhcpd.conf //主配置文件
/usr/sbin/dhcpd //二进制命令
cd /etc/dhcp/
grep -v "^#\|^$" /usr/share/doc/dhcp*/dhcpd.conf.example > dhcpd.conf
cp -p dhcpd.conf dhcpd.conf.bak
vim dhcpd.conf
option domain-name "dhcp.zyl.cn"; //域名
option domain-name-servers 192.168.1.50; //DNS
default-lease-time 3600; //默认租约时间(秒)
max-lease-time 7200; //最大租约时间(秒)
log-facility local7; //日志存放,/var/log/boot.log
subnet 192.168.1.0 netmask 255.255.255.0 { //网段、掩码
range dynamic-bootp 192.168.1.100 192.168.1.150; //地址池
option broadcast-address 192.168.1.255; //广播地址
option routers 192.168.1.254; //网关
}
host dnsname { //绑定mac和ip 的名称
hardware ethernet 00:0c:29:93:6c:e1; //物理地址
fixed-address 192.168.1.50; //ip
}
host ftpname {
hardware ethernet 00:0c:29:d0:7d:e8;
fixed-address 192.168.1.30;
}
systemctl restart dhcpd

发生报错信息

1.查看网络状态,dhcp服务器必须在地址池网段中
2.日志 // /var/log/messages
3.检查配置文件
4.journalctl -xe //查看日志信息排错

客户端

BOOTPROTO=dhcp
systemctl restart network

3 DNS服务器#

DNS(domain name system ) 域名管理系统
域名:由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名
称,能够是人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。
DNS的作用:
- 域名的正向解析
将主机域名转换为对应的IP 地址,以便网络程序能够通过主机域名访问到对应的服务器主机
域名——>IP A记录
- 域名的反向解析
将主机的IP地址转换为对应的域名,以便网络(服务)程序能够通过IP地址查询到主机的域名
IP——>域名 PTR记录
yum -y install bind
rpm -q bind
rpm -ql bind
文件 描述
/etc/named 配置文件的主目录
/etc/named.conf 主配置文件
/etc/named.rfc1912.zones zone文件,定义域
/usr/sbin/named-checkconf 检查配置文件的命令
/usr/sbin/named-checkzone 检查区域文件的命令
/var/log/named.log 日志文件
/var/named 数据文件的主目录
/var/named/named.ca 根域服务器
/var/named/named.localhost 正向解析区域文件的模板
/var/named/named.loopback 反向解析区域文件的模板
vim /etc/named.conf
options {
listen-on port 53 { any; }; //DNS监听地址
........................
allow-query { any; }; //允许访问到这台DNS的主机
...................
dnssec-enable no; //DNS安全拓展
dnssec-validation no;

正向解析

域名 ---》 ip A记录

vim /etc/named.rfc1912.zones //编辑zone文件
zone "zyl.cn" IN {
type master;
file "zyl.cn.zone";
allow-update { none; };
}; //正向域
cd /var/named/
cp -p named.localhost zyl.cn.zone
vim zyl.cn.zone
$TTL 1D
@ IN SOA zyl.cn. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.zyl.cn.
dns1 A 192.168.1.50
ftp A 192.168.1.30
dhcp A 192.168.1.254
@ A 192.168.1.1
检查配置文件是否错误
named-checkconf /etc/named.conf
named-checkconf /etc/named.rfc1912.zones
named-checkzone zyl.cn.zone zyl.cn.zone
systemctl restart named

客户端

nslookup 域名

反向解析

ip ---> 域名 PTR记录

vim /etc/named.rfc1912.zones //编辑zone文件
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
allow-update { none; };
}; //反向域
cp -p named.loopback 192.168.1.zone
vim 192.168.1.zone
IN SOA zyl.cn. rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns1.zyl.cn.
254 PTR dhcp.zyl.cn.
1 PTR zyl.cn.
30 PTR ftp.zyl.cn.
50 PTR dns1.zyl.cn.
检查配置文件是否错误
named-checkconf /etc/named.conf
named-checkconf /etc/named.rfc1912.zones
named-checkzone 192.168.1.zone 192.168.1.zone
systemctl restart named

4 FTP服务器#

FTP(File Transfer Protocol)是一种应用非常广泛并且古老的一个互联网文件传输协议。
FTP的默认端口 21号(命令端口) 20号(数据端口)
FTP有主动模式、被动模式两种工作模式,默认被动模式下
yum -y install vsftpd.x86_64
rpm -q vsftpd.x86_64
rpm -ql vsftpd.x86_64
文件 描述
/etc/pam.d/vsftpd 安全认证
/etc/vsftpd 配置文件主目录
/etc/vsftpd/ftpusers 黑名单用户列表
/etc/vsftpd/user_list 用户列表(黑白名单)
/etc/vsftpd/vsftpd.conf 主配置文件
/usr/sbin/vsftpd 二进制命令
/var/ftp 匿名用户的默认数据的根目录
/var/ftp/pub 匿名用户的默认数据目录的扩展目录
cd /etc/vsftpd/
cp -p vsftpd.conf vsftpd.conf.bak
grep -v "^#\|^$" vsftpd.conf.bak > vsftpd.conf
vim vsftpd.conf
anonymous_enable=YES 支持匿名用户访问
local_enable=YES 支持非匿名用户访问
write_enable=YES 支持写入
local_umask=022 反掩码
dirmessage_enable=YES 启用消息功能
xferlog_enable=YES 启用xferlog日志
connect_from_port_20=YES 支持主动模式(默认为被动模式)
xferlog_std_format=YES xferlog日志格式
listen=NO FTP服务独立模式下的监听
listen_ipv6=YES FTP服务独立模式下的监听(IPv6)
pam_service_name=vsftpd 指定认证文件
userlist_enable=YES 启用用户列表
tcp_wrappers=YES 支持tcp_wrappers功能
systemctl restart vsftpd

客户端

yum -y install lftp.x86_64

匿名用户

最开始连接的状态
[root@localhost named]# lftp ftp.zyl.cn
lftp ftp.zyl.cn:~> ls
drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
lftp ftp.zyl.cn:/> pwd
ftp://ftp.zyl.cn/ //路径 --- /var/ftp/
下载文件
[root@localhost named]# lftp ftp.zyl.cn
lftp ftp.zyl.cn:~> ls
-rw-r--r-- 1 0 0 0 Jul 23 02:36 123
drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
lftp ftp.zyl.cn:/> get 123
lftp ftp.zyl.cn:/> ls
-rw-r--r-- 1 0 0 0 Jul 23 02:36 123
drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
lftp ftp.zyl.cn:/> exit
上传功能+报错处理:
[root@localhost Desktop]# lftp ftp.zyl.cn
lftp ftp.zyl.cn:~> ls
rw-r--r-- 1 0 0 0 Jul 23 02:36 123
drwxr-xr-x 2 0 0 6 Jun 09 2021 pub
lftp ftp.zyl.cn:/> put 456
put: Access failed: 550 Permission denied. (456) //匿名用户默认没有上传文件的功能
chmod 777 ftp
[root@localhost Desktop]# lftp ftp.zyl.cn
lftp ftp.zyl.cn:~> ls
ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot() //根目录具有w权限拦截
chmod 777 pub/
lftp ftp.zyl.cn:~> ls
rw-r--r-- 1 0 0 0 Jul 23 02:36 123
drwxrwxrwx 2 0 0 6 Jun 09 2021 pub
lftp ftp.zyl.cn:/> cd pub/
lftp ftp.zyl.cn:/pub> ls
lftp ftp.zyl.cn:/pub> put 456
put: Access failed: 550 Permission denied. (456)
匿名用户本身没有上传功能,所以还是报错
vim vsftpd.conf
anon_upload_enable=YES #匿名用户不可以上传文件
anon_mkdir_write_enable=YES #匿名用户不可以修改文件
anon_other_write_enable=YES #允许匿名用户执行除上载和创建目录之外的写入操作
systemctl restart vsftpd
如果根目录下的目录没有赋予w权限产生的报错
lftp ftp.zyl.cn:~> ls
rw-r--r-- 1 0 0 0 Jul 23 02:36 123
drwxr-xr-x 2 0 0 17 Jul 23 02:47 pub
lftp ftp.zyl.cn:/> cd pub/
lftp ftp.zyl.cn:/pub> put 789
put: Access failed: 553 Could not create file. (789)

非匿名用户

[root@localhost Desktop]# lftp zyl@ftp.zyl.cn
Password:
lftp zyl@ftp.zyl.cn:~> ls
支持root用户登录
[root@localhost Desktop]# lftp root@ftp.zyl.cn
Password:
lftp root@ftp.zyl.cn:~> ls
ls: Login failed: 530 Permission denied.
vim /etc/vsftpd/ftpusers //黑名单用户列表
vim /etc/vsftpd/user_list //用户列表(黑白名单)
systemctl restart vsftpd
Linux 服务器搭建(二)
https://wangyi187.top/posts/os-15-linux-server-2/
作者
WangYi
发布于
2024-07-27
许可协议
CC BY-NC-SA 4.0