# Rserver

# Network

请根据基本配置信息配置服务器的主机名,网卡IP地址配置、域名等。

Device Hostname System FQDN IP Adress Service
Rserver Rserver Linux server Rserver.skills.com
Rserver.sdskills.com
172.16.100.254
192.168.10.2
10.10.100.254
Proxy(squid)
Firewall(iptables)
Dhcp
CA

修改 /etc/network/interfaces 文件,增加如下语句

auto ens33
iface ens33 inet static
address 172.16.100.254/25

auto ens36
iface ens36 inet static
address 10.10.100.254/24

auto ens37
iface ens37 inet static
address 192.168.10.2/28
1
2
3
4
5
6
7
8
9
10
11

环境不同,网卡号不同,根据环境修改,使用命令 ip link 可以查看

修改 /etc/hosts 文件,将 127.0.0.1 debain修改为如下语句

127.0.0.1 Rserver
172.16.100.254 Rserver.sdskills.com  Rserver
192.168.10.2 Rserver.skills.com    Rserver
1
2
3

修改 /etc/hostname 文件,将内容改为对应主机名

Rserver
1

# Iptables

apt install -y iptables
1

清除现有规则

iptables -F
iptables -X
iptables -Z
1
2
3

默认阻挡所有流量

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
1
2
3

为 CLIENT 和 SERVICE 网络创建 MASQUERADE 规则,需匹配源地址和出按口

iptables -t nat -A POSTROUTING -s 10.10.100.0/24 -o ens35 -j MASQUERADE
1

添加必要的流量放行规则,满足使所有要求中的服务正常提供工作

# ftp
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 --sport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT
iptables -A FORWARD -p tcp --dport 21 --sport 21 -j ACCEPT
# ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
iptables -A FORWARD -p tcp --dport 22 --sport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 1122 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1122 -j ACCEPT
iptables -A FORWARD -p tcp --dport 1122 --sport 1122 -j ACCEPT

iptables -A INPUT -p tcp --dport 2233 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 2233 -j ACCEPT
iptables -A FORWARD -p tcp --dport 2233 --sport 1122 -j ACCEPT

iptables -A INPUT -p tcp --dport 3344 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3344 -j ACCEPT
iptables -A FORWARD -p tcp --dport 3344 --sport 1122 -j ACCEPT

# dns
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 53 -j ACCEPT
iptables -A FORWARD -p tcp --dport 53 --sport 53 -j ACCEPT
# http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 --sport 80 -j ACCEPT
# https
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 --sport 443 -j ACCEPT
# smtps
iptables -A INPUT -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 465 -j ACCEPT
iptables -A FORWARD -p tcp --dport 465 --sport 465 -j ACCEPT
# imaps
iptables -A INPUT -p tcp --dport 993 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 993 -j ACCEPT
iptables -A FORWARD -p tcp --dport 993 --sport 993 -j ACCEPT
# 状态
iptables -A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

# Squid

安装 squid 服务,为 client 提供正向代理服务

apt install -y squid
1

修改 /etc/squid/squid.conf 文件,将 1411 行修改为如下语句

http_access allow all
1

重启 squid 服务

systemctl restart squid
1

开启路由转发,为当前实验环境提供路由功能

修改 /etc/sysctl.conf 文件,取消注释 net.ipv4.ip_forward=1

执行 syscrl -p 使修改生效

# DHCP

为客户端分配的 IP 地址范围是 10.10.100.1 - 109.10.100.50 DNS:按照实际需求配置 DNS 服务器地址选项 GATEWAY:按照实际需求配置网关地址选项

apt install -y isc-dhcp-server
1

修改 /etc/default/isc-dhcp-server 文件

INTERFACESv4="ens37"
1

在本环境中,ens37为 10.10.100.0/24 网段的网卡

修改 /etc/dhcp/dhcpd.conf 文件,取消注释 50-58 行,并根据实际情况修改

subnet 10.10.100.0 netmask 255.255.255.0 {
 range 10.10.100.1 10.10.100.50;
 option domain-name-servers 172.16.100.201;
 option domain-name "sdskills.com";
 option routers 10.10.100.254;
 default-lease-time 600;
 max-lease-time 7200;
}c
1
2
3
4
5
6
7
8

启动 DHCP 服务

systemctl start isc-dhcp-server
1

设置开机启动

systemctl enable isc-dhcp-server
1

# CA

apt install -y openssl
1

签发信息:

国家 = CN 单位 = Inc 组织机构 = www.skills.com 公用名 = Skill Global Root CA

修改 /etc/ssl/openssl.cnf 文件,将第 48 行修改为指定路径

dir = /CA
1

新建目录,并切换至目录

mkdir /CA && cd /CA
1

新建附属目录及文件

mkdir newcerts certs crl private
touch ./index.txt
1
2

初始化

echo 1000 > serial
1

生成私钥

openssl genrsa -out private/cakey.pem 4096
1

签发根证书

root@Rserver:/CA# openssl req -x509 -new -key /CA/private/cakey.pem -out /CA/cacert.pem
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Inc
Organizational Unit Name (eg, section) []:www.skills.com
Common Name (e.g. server FQDN or YOUR name) []:Skill Global Root CA
Email Address []:
1
2
3
4
5
6
7
8