# 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
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
2
3
修改 /etc/hostname
文件,将内容改为对应主机名
Rserver
# Iptables
apt install -y iptables
清除现有规则
iptables -F
iptables -X
iptables -Z
2
3
默认阻挡所有流量
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
2
3
为 CLIENT 和 SERVICE 网络创建 MASQUERADE 规则,需匹配源地址和出按口
iptables -t nat -A POSTROUTING -s 10.10.100.0/24 -o ens35 -j MASQUERADE
添加必要的流量放行规则,满足使所有要求中的服务正常提供工作
# 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
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
修改 /etc/squid/squid.conf
文件,将 1411 行修改为如下语句
http_access allow all
重启 squid 服务
systemctl restart squid
开启路由转发,为当前实验环境提供路由功能
修改 /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
修改 /etc/default/isc-dhcp-server
文件
INTERFACESv4="ens37"
在本环境中,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
2
3
4
5
6
7
8
启动 DHCP 服务
systemctl start isc-dhcp-server
设置开机启动
systemctl enable isc-dhcp-server
# CA
apt install -y openssl
签发信息:
国家 = CN 单位 = Inc 组织机构 = www.skills.com 公用名 = Skill Global Root CA
修改 /etc/ssl/openssl.cnf
文件,将第 48 行修改为指定路径
dir = /CA
新建目录,并切换至目录
mkdir /CA && cd /CA
新建附属目录及文件
mkdir newcerts certs crl private
touch ./index.txt
2
初始化
echo 1000 > serial
生成私钥
openssl genrsa -out private/cakey.pem 4096
签发根证书
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 []:
2
3
4
5
6
7
8