说明:本人也是从网上东拼西凑找来的教程,自己一遍遍测试过,得出的结论,让大家可以避免很多坑,还要感谢那些原创的大神们。
一.公司网络环境介绍:
1. H3C MSR路由器通过G0/2口连接外网,固定公网IP地址:111.198.18.XX
2. PDC域服务器(也是DNS服务器)10.1.0.1
BDC备份域服务器10.1.0.5
3. PPTPD 虚拟专用网络服务器,通过vSphere Esxi服务器创建虚拟机:
Centos 7.7 1908,内网地址10.1.0.24
4. 验证客户端Windows7。
二.通过Samba+Winbind服务将Centos加入到AD域:
1. 基础环境准备:
⑴ 修改网卡信息,添加DNS地址,就是域地址:
#vim /etc/sysconfig/network-scripts/ifcfg-ens192
⑵ 修改selinux:#vim /etc/sysconfig/selinux
立刻生效:#setenforce 0
⑶ 防火墙暂时关闭,后续需要开启:
#systemctl stop firewalld && systemctl disable firewalld
2. Yum安装Samba所需软件(预先配置好阿里yum源,此处略过):
#yum -y install pam_krb5* krb5-libs* krb5-workstation* krb5-devel* samba samba-winbind* samba-client* samba-swat* ntpdate*
安装完成后,开启相关服务:
#systemctl restart smb nmb ; systemctl restart winbind
3. 与AD域时间同步:
#ntpdate 10.1.0.5
4. 相关配置:
⑴ 修改smb.conf,只修改、添加全局设置;
#vim /etc/samba/smb.conf
[global]
workgroup = TEST
realm = TEST.COM
security = ads
idmap config * : range = 16777216-33554431
template shell = /bin/bash
template homedir = /home/%D/%U
winbind enum users = yes
winbind enum groups =yes
winbind use default domain = true
winbind offline logon = true
server string = pptpd server
log file =/var/log/samba/log.%m
max log size = 50
passdb backend = tdbsam
encrypt passwords = yes
printing = cups
printcap name = cups
load printers = yes
⑵ 修改nsswitch.conf;
#vim /etc/nsswitch.conf
⑶ 修改krb5.conf;
#vim /etc/krb5.conf
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = /etc/pki/tls/certs/ca-bundle.crt
default_realm = TEST.COM
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
TEST.COM = {
kdc = 10.1.0.1
admin_server = 10.1.0.1
}
[domain_realm]
.example.com = TEST.COM
example.com = TEST.COM
5. 加入AD域:
#net ad join -Uadministrator
加入后,重启以下服务(此处需要注意,服务最好不要一起重启,单个重启,否则可能会报错):
#systemctl restart smb
#systemctl restart winbind
6. 测试winbind服务:
#wbinfo -t //测试通信成功与否,信任关系是否建立
#wbinfo -u //测试域用户账号是否同步
#wbinfo -g //测试域组信息是否同步
7. 测试kerberos服务:
#kinit ***test1 //测试用户
8. 如果加入域有报错,可以尝试以下命令:
⑴ 先清理缓存:
# rm -rf /var/lib/samba/private/secrets.tdb
# rm -rf /var/lib/samba/gencache.tdb
⑵ samba退出域:
#net ads leave -Uadministrator
9. 防火墙配置命令:
#systemctl restart firewalld ; systemctl enable firewall
#firewall-cmd --permanent --add-service=samba //添加samba服务
#firewall-cmd –reload
10. 常用命令:
⑴ 重载smbd、nmbd、winbindd的配置,请将reload-config消息类型发送到all目标:
#smbcontrol all reload-config
⑵ 测试samba配置参数:
#testparm /etc/samba/smb.conf
⑶ 加入AD域命令:
#net ads join -U "DOMAIN\administrator"
三.通过PPTPD搭建服务器:
1. PPTPD服务端安装:
⑴ 检查服务器端系统版本:
#cat /etc/redhat-release
⑵ 检查IP地址信息:
#ip addr
⑶ 检查PPP是否开启:
#cat /dev/ppp
#modprobe ppp-compress-18 && echo ok
⑷ 安装PPP:
#yum install -y ppp
⑸ 安装PPTPD:
① 安装wget:
#yum install -y wget
② 添加EPEL源:
#wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
③ 安装EPEL源:
#rpm -ivh epel-release-latest-7.noarch.rpm
④ 检查源:
#yum repolist
⑤ 更新源列表:
#yum -y update
⑹ 设置虚拟专用网络内网IP地址段:
#vim /etc/pptpd.conf
将以下两行前面的#号删掉,配置虚拟专用网络内网的IP段,也可自行设置
localip 10.1.0.24 //虚拟专用网络服务器内网IP地址
remoteip 10.1.2.100-150 //虚拟专用网络连接IP地址段
⑺ 配置opptions.pptpd:
#vi /etc/ppp/options.pptpd
① 修改DNS(阿里DNS):
ms-dns 233.5.5.5
ms-dns 233.6.6.6
② 修改日志存放位置:
nologfd
logfile /var/log/pptpd.log
③ 加载AD验证模块,此处用于AD域账号认证,非常重要,复制到相应位置:
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1"
⑻ 设置虚拟专用网络本地账号(适合没有AD域环境的网友,因为我们用AD域账号登录虚拟专用网络,此处不用设置):
# vim /etc/ppp/chap-secrets
用户 协议 密码 IP规则
***user1 pptpd 123 * //*代表任意IP连接虚拟专用网络都可以
⑼ 添加转发策略:
在最下面添加:net.ipv4.ip_forward=1
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1
#sysctl -p //输入命令,使其生效
⑽ 修改防火墙规则:
创建规则文件,并添加如下规则:
#touch /usr/lib/firewalld/services/pptpd.xml
#vim /usr/lib/firewalld/services/pptpd.xml
#systemctl restart firewalld //重启防火墙
① 添加服务:
#firewall-cmd --permanent --zone=public --add-service=pptpd
② 允许防火墙伪装IP:
#firewall-cmd --add-masquerade
③ 开启 47和1723端口:
#firewall-cmd --permanent --zone=public --add-port=47/tcp
#firewall-cmd --permanent --zone=public --add-port=1723/tcp
④ 允许grep协议:
#firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
#firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT
⑤ 设置规则允许数据包由eth0 和ppp+接口中进出(此处注意自己网卡名称):
#firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT
#firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT
⑥ 设置转发规则,从源地址发出的所有包进行伪装,改变地址,由eth0发出:
#firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 10.1.2.0/24
⑾ 开启转发规则:
转发规则有两种,在此我使用的是OpenVZ架构,在命令终端输入第二条命令:
① XEN架构:
#iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -o eth0 -j MASQUERADE
② OpenVZ架构:
#iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -j SNAT --to-source 111.198.18.XX
//虚拟专用网络公网IP 要换成你服务器的IP 比如 111.198.18.XX
⑿ 编辑rc.local文件,添加转发规则:
① 给rc.local执行权限:
#chmod +x /etc/rc.d/rc.local
② 编辑rc.local文件:
在此使用的OpenVZ架构:
#vim /etc/rc.d/rc.local
iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -j SNAT --to-source 111.198.18.XX
#systemctl restart rc-local
⒀ 重启服务,并设置开机启动:
#systemctl restart pptpd ; systemctl enable pptpd
#firewall-cmd –reload
⒁ 查看PPTPD服务:
#ps -aux |grep pptpd
2. H3C MSR36-20路由器设置NAT端口映射(其他品牌自行百度):
[H3C]sys
[H3C]interface GigabitEthernet 0/2
[H3C]nat server protocol tcp global 111.198.18.XX 1723 inside 10.1.0.24 1723
[H3C]exit
[H3C]save f
[H3C]dis nat all //查看所有nat
四. 客户端虚拟专用网络连接测试(此处略过配置过程,上一些测试图片):
通过虚拟专用网络连接,可以连接网盘,PING通DC主机。