基于Centos7的Linux服务器综合复习(VNC proxy DHCP DNS HTTP FTP)

声明:本博客是为了巩固自己以前所学Linux服务器知识而整理的,这次我把很多模板配置文件都记录下来,可能以后工作会用得到。也希望能够对大家有所帮助。我只记录了常见的几个服务器,后期可能会有所添加。

本篇博客实验环境都是在centos7上完成的,有一定的参考价值。

 

CONTENTS

1 VNC安装与配置

2 proxy代理服务器

3 DHCP服务器

4 DNS服务器

4.1 DNS的基本配置

4.2 主从DNS 

4.2.1 master端配置

4.2.2 slave端配置

4.2.3 win客户端测试

5 HTTP服务器

 5.1 基于域名的http配置

5.2 基于端口的http配置

6 FTP服务器

6.1 ftp简单搭建

6.2 使用ftp共享yum源


1 VNC安装与配置

(1)服务端安装VNC packages:

yum install tigervnc-server -y

(2)修改配置信息,在/etc/systemd/system/下建立文件夹vncserver@:1.service 把example config 文件从/lib/systemd/system/vncserver@.service复制到里面

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

然后打开这个配置文件/etc/systemd/system/vncservExer@:1.service替换掉默认用户名

vim /etc/systemd/system/vncserver@:1.service

找到这一行 

ExecStart=/usr/bin/vncserver_wrapper <USER> %i

这里我直接用root 用户登录(不同的用户替换不同的用户名),所以我替换成:

ExecStart=/usr/bin/vncserver_wrapper <root> %i

(3)重加载 systemd

systemctl daemon-reload

(4)为VNC设密码vnc

vncpasswd

(5)配置防火墙。由于我这边的Centos 7 是用iptables,规则如下:

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5903 -j ACCEPT
service iptables save

如果是用Centos 7 是firewalld防火墙,如下配置

firewall-cmd --permanent --add-service vnc-server
systemctl restart firewalld.service

(6)设默认启动并开启VNC

systemctl enable vncserver@:1.service
systemctl start vncserver@:1.service

(7)这样基本上服务器端就设好了,客户端要去下一个VNC Viewer 的软件测试连接(比如我用Centos7作为客户端)。

yum install tigervnc.x86_64 -y

 

顺利登入: 

 

2 proxy代理服务器

直接模拟一个实验环境,实验拓扑如下:

(1)按照实验拓扑搭建基本的环境。实现内外网互通。(可以先暂时关闭防火墙,在网关上开启路由转发。)

#编辑文件开启路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

#加载一下
sysctl -p 

(2)网关上安装squid并配置

#安装squid
yum install squid -y

vim /etc/squid/squid.conf
#允许源10.1.1.0/24使用代理,并添加主机名
acl localnet src 10.1.1.0/24
visible_hostname Centos7-host1

#启动代理服务并初始化缓存,目录
systemctl start squid 
squid -z

(3)在192.168.47.100上安装httpd服务,并做个简单的测试页 。顺便安装一个wireshark,后面抓包分析使用。

yum install httpd -y
echo hello world > /var/www/html/index.html
systemctl start httpd

yum install wireshark-gnome wireshark -y

 现在在内网访问外网web,并做抓包,如下图(源ip是10.1.1.100.):

(4)下面在客户端配置代理。打开火狐浏览器

(5)这个时候再访问外网web并做抓包。如下图可知客户端访问web是从网关代理过来的

(6)这说明没配置防火墙之前代理服务器是正常工作的。最后我们打开防火墙,配置防火墙。配置好之后保存规则并重新访问web。(我就不在做测试了)

#网关上防火墙配置
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3128 -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -d 192.168.47.0/24 -i ens33 -o ens37 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -I FORWARD -s 192.168.47.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
service iptables save

#外网防火墙配置
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
service iptables save

 

3 DHCP服务器

(1)网络拓扑如下:

 (2)先按照网络拓扑搭建基础环境。往后在dhcp服务器配置。

yum install dhcp -y
#编辑配置文件
vim /etc/dhcp/dhcpd.conf 

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page

subnet 10.1.1.0 netmask 255.255.255.0 {
        #动态分配池
        range 10.1.1.100 10.1.1.200;
        option domain-name-servers 10.1.1.1;
        #DNS还没有配置,可以先随便放一个
        option domain-name "test.cn";
        option routers 10.1.1.1;
        option broadcast-address 10.1.1.255;
        default-lease-time 600;
        max-lease-time 7200;

        #绑定bossMac
        host boss{
                hardware ethernet 00:0C:29:67:9E:10;
                fixed-address 10.1.1.10;
        }
}


#配置好文件启动dhcp
systemctl start dhcpd

 (3)client端设置动态获取ip地址。重启网络,查看ip。

BOSS:

普通员工: 

4 DNS服务器

4.1 DNS的基本配置

配置一台DNS服务器,有自己的域名,配置正解和反解文件。客户端指向该DNS可以完成正常解析。

(1)安装DNS服务器。

yum install bind -y

(2)配置主配置文件。/etc/named.conf   (配置完之后记得用 命令 named-checkconf 检查文件配置格式

// named.conf

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursing-file  "/var/named/data/named.recursing";
	secroots-file   "/var/named/data/named.secroots";
	allow-query     { any; };
	recursion yes;
        allow-transfer {none;};

};


zone "." IN {
	type hint;
	file "named.ca";
};

zone "gawain.com"  IN {
        type master;
        file "named.gawain.com";
        };

zone "47.168.192.in-addr.arpa" IN {
      type master;
      file "named.192.168.47";
};

(3)配置正解反解文件,与主文件对应的目录文件名一致。(注意com.后面这个点,不要丢失。它对应一个完整的主机名)

正解文件:

$TTL 3H
@     IN    SOA   master.gawain.com. admin.mail.gawain.com. (
                    0    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum

@                      IN    NS          master.gawain.com.  ;DNS server
master.gawain.com.     IN    A           192.168.47.254
@                      IN    MX    10    mail.gawain.com.    ;mail server
mail.gawain.com.       IN    A           192.168.47.254
ftp.gawain.com.        IN    CNAME       master.gawain.com.
www.gawain.com.        IN    CNAME       master.gawain.com.
client.gawain.com.     IN    A           192.168.47.10

反解文件:

$TTL 3H
@      IN SOA    master.gawain.com. admin.mail.gawain.com. (
                    0    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
@         IN   NS        master.gawain.com.  ;DNS server
254       IN   PTR       master.gawain.com.
254       IN   PTR       mail.gawain.com.
10        IN   PTR       client.gawain.com.

(4)重启DNS服务器并配置防火墙(我用的是iptables)

systemctl restart named

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
service iptables save

(5)客户端配置/etc/resolv.conf之后开始做测试

nameserver 192.168.47.254

 

 

4.2 主从DNS 

模拟一个实验环境,一个虚拟机作为master,一台作为slave。然后用win7客户端指向slave,看是否能解析master的域名和ip。

4.2.1 master端配置

(1)安装dns,配置主配置文件。

// named.conf

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursing-file  "/var/named/data/named.recursing";
	secroots-file   "/var/named/data/named.secroots";
	allow-query     { any; };
	recursion yes;
        allow-transfer {none;};

};


zone "." IN {
	type hint;
	file "named.ca";
};

zone "gawain.com"  IN {
        type master;
        file "named.gawain.com";
        allow-transfer { 192.168.47.100; };   //salve ip
        };

zone "47.168.192.in-addr.arpa" IN {
      type master;
      file "named.192.168.47";
      allow-transfer { 192.168.47.100; };  //salve ip
};

(2)配置正解反解文件。

正解文件:

$TTL 3H
@     IN    SOA   master.gawain.com. admin.mail.gawain.com. (
                    20071010   ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum

@                      IN    NS          master.gawain.com.  ;DNS server
@                      IN    NS          slave.gawain.com.  ;DNS slave
master.gawain.com.     IN    A           192.168.47.254
slave.gawain.com.       IN    A          192.168.47.100
@                      IN    MX    10    mail.gawain.com.    ;mail server
mail.gawain.com.       IN    A           192.168.47.254
ftp.gawain.com.        IN    CNAME       master.gawain.com.
www.gawain.com.        IN    CNAME       master.gawain.com.
client.gawain.com.     IN    A           192.168.47.10

反向文件:

$TTL 3H
@      IN SOA    master.gawain.com. admin.mail.gawain.com. (
                    20071010    ; serial
                    1D    ; refresh
                    1H    ; retry
                    1W    ; expire
                    3H )    ; minimum
@         IN   NS        master.gawain.com.  ;DNS server
@         IN   NS        slave.gawain.com.   ;DNS slave
254       IN   PTR       master.gawain.com.
254       IN   PTR       mail.gawain.com.
100       IN   PTR       salve.gawain.com.
10        IN   PTR       client.gawain.com.

(3)配置防火墙并重启DNS

systemctl restart named

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
service iptables save

4.2.2 slave端配置

(1)slave端就需要配置主配置文件即可。先安装DNS再配置。

// named.conf

options {
	listen-on port 53 { any; };
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursing-file  "/var/named/data/named.recursing";
	secroots-file   "/var/named/data/named.secroots";
	allow-query     { any; };
	recursion yes;
    allow-transfer {none;};

};


zone "." IN {
	type hint;
	file "named.ca";
};

zone "gawain.com"  IN {
        type slave;
        file "slaves/named.gawain.com";
        masters { 192.168.47.254; } ;  //master ip
        };

zone "47.168.192.in-addr.arpa" IN {
      type slave;
      file "slaves/named.192.168.47";
      masters { 192.168.47.254; } ;  //master ip
};

(2)核查/var/named/slaves权限是否属于named用户。建议关闭selinux

(3)配置防火墙并启动DNS。

systemctl restart named

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
iptables -I INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
service iptables save

4.2.3 win客户端测试

(1)配置ip并指向slave。

(2)解析master域名及ip

5 HTTP服务器

可以直接在前面DNS主从服务器的基础上做,可以直接在主DNS上做,也可单独找个服务器作为web。我是单独用一个虚拟机作为web的,实验拓扑参考如下:

 5.1 基于域名的http配置

(1)安装httpd服务,并配置主文件,添加如下内容(/etc/httpd/conf/httpd.conf )

yum install httpd -y
<VirtualHost *:80>
ServerName blog.gawain.com
DocumentRoot /var/www/html/blog
</VirtualHost>

<VirtualHost *:80>
ServerName trip.gawain.com
DocumentRoot /var/www/html/trip
</VirtualHost>

<VirtualHost *:80>
ServerName ocean.gawain.com
DocumentRoot /var/www/html/ocean
</VirtualHost>

(2)上传网站到/var/www/html目录下,并修改权限

#website是我网上找的静态网站模板,做个测试。当然也可以写一个简单的测试页
cp websites/* /var/www/html -R
cd /var/www/html/
chown apache:apache . -R

(3)DNS服务器添加web服务器解析。修改后重启DNS。

#正解添加
www.gawain.com.        IN    A           192.168.47.2
blog.gawain.com.       IN    CNAME       www.gawain.com.
trip.gawain.com.       IN    CNAME       www.gawain.com.
ocean.gawain.com.      IN    CNAME       www.gawain.com.

#反解文件添加
2        IN    PTR       www.gawain.com.

(4)web服务器配置防火墙。这边是firewalld。配置最后启动httpd服务

firewall-cmd --add-service=http --permanent 
firewall-cmd --reload 

systemctl start httpd

(5)win7客户机做测试

5.2 基于端口的http配置

一个一般是开发人员用来测试用,也了解下。

(1)配置文件添加如下内容。

Listen 8000
Listen 8001

NameVirtualHost *:8000
<VirtualHost *:8000>
ServerName www.gawain.com:8000
DocumentRoot /var/www/html/8000
    DirectoryIndex index.html
</VirtualHost>

NameVirtualHost *:8001
<VirtualHost *:8001>
ServerName www.gawain.com:8001
DocumentRoot /var/www/html/8001
    DirectoryIndex index.html
</VirtualHost>

(2)在/var/www/html下放8000和8001文件夹。里面放个测试页。我直接把网站模板copy过来了。(建议先关掉selinux

cp trip ./8000 -R
cp blog/ ./8001 -R
chown apache:apache ./ -R
setenforce 0
systemctl restart httpd

(3)我们就在本地测试好了。

6 FTP服务器

FTP服务器搭建很简单,如果你没有什么需求的,只要下载后直接启动就可以。默认支持匿名用户访问,匿名用户默认只能下载文件。而系统用户默认也可直接登陆,默认可以下载和上传文件。

FTP默认文件在/var/ftp。

6.1 ftp简单搭建

(1)我们现在/var/ftp下创建sharefile文件夹。无需配置直接启动。匿名登录。


yum install vsftpd -y
mkdir /var/ftp/sharefile
echo hello ftp > /var/ftp/sharefile/hello.txt
systemctl start vsftpd
setenforce 0
systemctl stop firewalld

浏览器匿名登录: 

(2)关闭匿名访问。用系统用户登录,用户不允许登录shell.

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

#创建不允许登录系统的用户
useradd stu1 -s /sbin/nologin 
echo 123 | passwd --stdin stu1
#在用户目录下创建文件测试
echo 123 > /home/stu1/test.txt 

#重启vsftpd
systemctl restart vsftpd

 

登录ftp:

 

6.2 使用ftp共享yum源

(1)服务器端先挂载光盘,copy光盘里的rpm包到ftp的默认文件夹里。利用createrepo自建yum仓库。

mount /dev/cdrom /media/cdrom/
cp /media/cdrom/Packages/* /var/ftp/centos7
cd /var/ftp
chmod 777 centos7 -R
ll centos7/
createrepo centos7

(2)安装vsftp服务,直接启动就好了。要允许匿名访问。

(3)客户端配置yum源。指向ftp服务器。

vim /etc/yum.repos.d/yumpackage.repo
[yumpackage]
name=yumpackage
baseurl=ftp://192.168.119.177/centos7
gpgcheck=0

#清除缓存,查看可用仓库
yum clean all
yum repolist

配置好之后就可以下载啦!(比如我安装一个ftp服务,它是从自建的ftp yum源下载的)

 


整理完毕,给自己点个赞,嘿嘿!!

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硬核的无脸man~

你的鼓励是我创作的最大功力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值