• 在家怎么连接学校电脑的相关部署?


    前言

    环境

    HostnameIpaddress系统版本用途
    vpnserver120.46.135.141centos7.6vpn服务器 公网
    vpnclient1随便 (两个客户端不能通信信就行)centos7.6客户端
    vpnclient2随便centos7.6客户端2

    操作:

    vpnserver:服务器

    
    yum install rpm-build gcc lsof net-tools -y
    yum install -y pam-devel*
    yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
    yum -y install epel-release
    yum install -y pkcs11-helper pkcs11-helper-devel
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    确认已经安装完成:

    rpm -qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel
    
    • 1

    下载安装包:openvpn-2.2.2.tar.gz

    rpmbuild -tb openvpn-2.2.2.tar.gz
    ls /root/rpmbuild/RPMS/x86_64
    rpm -ivh /root/rpmbuild/RPMS/x86_64/openvpn-2.2.2-1.x86_64.rpm
    
    • 1
    • 2
    • 3

    配置OpenVPN服务(vpnserver)

    初始化KPI

    cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
    
    vim vars
    export KEY_COUNTRY="CN"
    export KEY_PROVINCE="SH"
    export KEY_CITY="SHANGHAI"
    export KEY_ORG="wu2700222"
    export KEY_EMAIL="wu2700222@126.com"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    上述参数的值可以自定义设置,对配置无影响

    生成服务端的证书

    清除并删除keys目录下的所有key

    cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
    ln -s openssl-1.0.0.cnf openssl.cnf
    ll openssl*
    source ./vars
    ./clean-all
    
    • 1
    • 2
    • 3
    • 4
    • 5

    生成CA证书,一直回车完成就可以:

    ./build-ca
    
    • 1

    生成服务器证书:vpnserver是server端的证书名字

    遇到交互输入 y

    会在keys目录中保存vpnserver.key 、vpnserver.csr 、vpnserver.crt的文件

    ./build-key-server vpnserver
    
    
    • 1
    • 2

    创建vpn登陆用户的秘钥与证书

    遇到交互输入y

    会生成vpnclient.key 、vpnclient.csr 、vpnclient.crt

    ./build-key vpnclient
    
    • 1

    如果创建用户证书时报错,可以将keys整个目录删除,然后从source
    ./vars这一步开始重新操作(慎重,否则之前在keys目录里的用户数据就会都删除)

    生成Diffie Hellman参数

    ./build-dh
    
    • 1

    执行了./build-dh后,会在 keys 目录下生成 dh 参数文件 dh1024.pem。该文件客户端验证的时候会用到

    将/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys 目录下的所有文件复制到
    /etc/openvpn下:

    cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/
    
    • 1

    复制openvpn服务端配置文件 server.conf 到 /etc/openvpn/ 目录下:

    cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/
    
    • 1

    cd 到 /etc/openvpn/

    查看server.conf文件的配置

    改成如下

    安全组开放相应端口

    ;local a.b.c.d
    local 0.0.0.0
    port 5000
    ;proto tcp
    proto tcp
    ;dev tap
    dev tun
    ;dev-node MyTap
    ca ca.crt
    cert vpnserver.crt
    key vpnserver.key  
    dh dh1024.pem
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist ipp.txt
    ;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
    ;server-bridge
    push "route 10.0.0.0 255.255.255.0"
    ;push "route 192.168.20.0 255.255.255.0"
    ;client-config-dir ccd
    ;route 192.168.40.128 255.255.255.248
    ;client-config-dir ccd
    ;route 10.9.0.0 255.255.255.252
    ;learn-address ./script
    ;push "redirect-gateway def1 bypass-dhcp"
    ;push "dhcp-option DNS 208.67.222.222"
    ;push "dhcp-option DNS 208.67.220.220"
    client-to-client
    duplicate-cn
    keepalive 10 120
    ;tls-auth ta.key 0 # This file is secret
    ;cipher BF-CBC        # Blowfish (default)
    ;cipher AES-128-CBC   # AES
    ;cipher DES-EDE3-CBC  # Triple-DES
    comp-lzo
    ;max-clients 100
    user nobody
    group nobody
    persist-key
    persist-tun
    status openvpn-status.log
    log         openvpn.log
    ;log-append  openvpn.log
    verb 3
    ;mute 20
    
    
    • 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

    开启路由转发

    
    vim /etc/sysctl.conf
    
    net.ipv4.ip_forward = 1
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    添加iptables规则,确保服务器可以转发数据包到外网:

    yum install -y iptables iptables-services
    
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
    service iptables save
    systemctl restart iptables
    iptables -t nat -L
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    启动OpenVPN

    openvpn server.conf
    
    lsof -i:5000
    
    
    • 1
    • 2
    • 3
    • 4

    /etc/openvpn/openvpn.log 日志文件

    然后在/etc/openvpn/下编写vpnclient用户的config.ovpn客户端配置文件

    vim /tmp/config.ovpn
    
    client
    dev tun
    proto tcp
    remote 120.46.135.141 5000
    resolv-retry infinite
    nobind
    mute-replay-warnings
    ca  ca.crt
    cert vpnclient.crt
    key vpnclient.key
    comp-lzo
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    然后将ca.crt、config.ovpn、vpnclient.crt、vpnclient.csr、vpnclient.key这五个文件放到vpnclient用户所在的虚拟机上

    在vpnclient1:虚拟机其他客户机一样

     yum install -y epel-release
     yum install -y openvpn
     openvpn config.ovpn
    
    • 1
    • 2
    • 3

    结果

    会分配给客户一个ip
    然后用所分配的ip进行操作
    有问题下方留言

  • 相关阅读:
    为什么现在西红柿都“硬邦邦”的,放几个星期都不会坏?为你解答
    在数字化浪潮中,为企业建造一艘“方舟”
    worthington细胞分离优化技术:优化策略
    Linux用户管理指南:创建、删除、权限、最佳实践,全面掌握用户管理技巧
    PerfView专题 (第一篇):如何寻找热点函数
    【Python实战因果推断】2_因果效应异质性2
    云安全—分布式基础
    UE5:如何解决背景图片被拉伸的问题?
    特殊文件(Properties属性文件)
    页面懒加载
  • 原文地址:https://blog.csdn.net/weixin_44754740/article/details/126540461