阿里云服务器Centos系统安装ocserv

#阿里云轻量服务器没有安全组

1、需要打开firewalld 或 iptables 做转发

yum -y install epel-release

报错:No such command: epel-release. Please use /usr/bin/yum --help

(1)进入配置文件内,删除所有的.repo文件(也可以备份)

        1、进入配置文件

cd /etc/yum.repos.d/

        2、删除旧的配置文件      

rm *.repo

                输入“y”回车确认

(2)ls 确保该目录下的.repo文件已完全删除

        注意必须全部删除,或全部移除备份到别处,否则就算你切换的 yum 源,

        也还是会报上面的错

(3)下载可以用的.repo文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

搞定了再:

yum -y install epel-release

成功

2、安装ocserv

yum -y install ocserv

3、  进入etc文件夹查看ssl 列表

cd /etc
ls

        如果没有创建新的

mkdir ssl
cd ssl

        新建一个证书模板:

vi ca.tmpl

        添加按INSERT键添加文本

cn = "cn"
organization = "fu.IM"
serial = 1
expiration_days = 9999
ca
signing_key
cert_signing_key
crl_signing_key

        保存退出vi:长按住ESC键 ,输入:wq 回车

        注:'cn'和'fu.IM'可以根据自己的需要更改,反正都是自签证书

        然后生成私钥和CA证书,输入意见命令

certtool --generate-privkey --outfile ca-key.pem
certtool --generate-self-signed --load-privkey ca-key.pem --template ca.tmpl --outfile ca-cert.pem

        接着来生成服务器证书,新建一个证书模板:

vim server.tmpl
cn = "192.168.1.21"
organization = "fu.IM"
expiration_days = 9999
signing_key
encryption_key
tls_www_server

        注:cn后面的值改成你的服务器公网IP

        然后生成私钥和证书:

certtool --generate-privkey --outfile server-key.pem
certtool --generate-certificate --load-privkey server-key.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server.tmpl --outfile server-cert.pem

        然后我们把证书文件用移动到Ocserv默认的目录下:

cp server-cert.pem /etc/pki/ocserv/public/
cp server-key.pem /etc/pki/ocserv/private/
cp ca-cert.pem /etc/pki/ocserv/cacerts/

        注意:一定要在ssl文件夹下操作

4、编辑ocserv的配置文件

vim /etc/ocserv/ocserv.conf

        vim编辑器,显示行标 

        按insert进入编辑模式,长按住esc 输入:set nu 回车

        vim编辑器,查找功能

        按insert进入编辑模式,长按住esc 输入:/auth 回车。auth是要查找的内容

         vim编辑器,输入错误 操作错误,回退

        按insert进入编辑模式,长按住escu :u回车

4.1 、auth也就是验证方式要改为:

        按insert进入编辑模式,长按住esc 输入:/auth = 回车找到auth

auth = "plain[passwd=/etc/ocserv/ocpasswd]"

4.2、默认的监听端口为443,如果你的服务器上跑着HTTPS的WEB站点,那么443端口肯定是被占用了的,所以如果有需求的话,可以更改下面的值:

        按insert进入编辑模式,长按住esc 输入:/tcp-port 回车。auth是要查找的内容

tcp-port = 8443
udp-port = 8443

4.3、Anyconnect有一个设置连接欢迎信息的功能,也就是你在连接的时候会弹出一个提示框,提示框的内容就可以自行设置,如有需要可以更改下面的值:

banner = “Welcome fu.IM”

4.4、Anyconnect可以限制最大允许连接的设备数量,如有需要可以更改下面这两个值:

max-clients = 16
max-same-clients = 2

4.5、更改服务器证书以及私钥的路径为我们刚才移动的路径:

server-cert = /etc/pki/ocserv/public/server-cert.pem
server-key = /etc/pki/ocserv/private/server-key.pem

4.6、更改CA证书的路径为我们刚才移动的路径:

ca-cert = /etc/pki/ocserv/cacerts/ca-cert.pem

4.7、取消如下几个参数的注释(去掉#号就是去掉注释):    

ipv4-network = 172.35.1.0
ipv4-netmask = 255.255.255.0

#An alternative way of specifying the network:
ipv4-network = 172.35.1.0/24

8、去掉如下参数的注释以及设置DNS服务器地址:

tunnel-all-dns = true
dns = 100.100.2.136
dns = 100.100.2.138

route = 192.168.1.0/24
route = 192.168.10.0/24
route = 192.168.2.0/24
route = 192.168.7.0/24
route = 192.168.0.0/24
route = 192.168.6.0/24
route = 192.168.100.0/24

5、现在来创建一个VPN用户:  

ocpasswd -c /etc/ocserv/ocpasswd abc123

        ps:abc123 是设置的用户名

        现在我们开启机器的IPV4转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

        然后启动CentOS7的Firewalld防火墙:

systemctl start firewalld.service

        放行Anyconnect的端口(我这里之前设置的是默认的443端口,

        如果你修改了端口,那么这里也要对应):

firewall-cmd --permanent --zone=public --add-port=8443/tcp
firewall-cmd --permanent --zone=public --add-port=8443/udp
firewall-cmd --zone=public --add-port=1723/tcp --permanent

#查看端口是否打开
firewall-cmd --query-port=80/tcp
#查看永久打开的端口号
firewall-cmd --list-ports --permanent
#查看临时打开的端口号
firewall-cmd --list-ports
# 关闭临时端口
firewall-cmd --remove-port=80/tcp
# 关闭永久端口
firewll-cmd --remove-port=80/tcp --permanent
# 配置结束后需要输入重载命令并重启防火墙以生效配置
firewall-cmd --reload
systemctl restart firewalld
#开机启动防火墙
systemctl enable firewalld
#关闭某个端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent

        设置转发:

firewall-cmd --permanent --add-masquerade
firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -o eth0 -j MASQUERADE

        注:eth0是你的公网网卡名字,每个机器的名字可能都不一样,

        自己用ifconfig命令查一下就行了。

        重加载,让新的配置生效:

firewall-cmd --reload

        现在就可以尝试运行一下Ocserv了:

ocserv -f -d 1

        报错:note: vhost:default: setting 'plain' as primary authentication method

        原因:配置文件错误 这里是 server-cert 和 server-key 地址手动输入错误 

        显示下面这个玩意 不懂对不对

note: vhost:default: setting 'plain' as primary authentication method
note: setting 'file' as supplemental config option
listening (TCP) on 0.0.0.0:500...
listening (TCP) on [::]:500...
listening (UDP) on 0.0.0.0:500...
listening (UDP) on [::]:500...
ocserv[105274]: sec-mod: reading supplemental config from files
ocserv[105274]: sec-mod: sec-mod initialized (socket: /var/lib/ocserv/ocserv.sock.cc28d10c.0)

        确定正常后按键盘组合键Ctrl+C退出运行,

6、现在我们就可以直接用systemctl来管理Ocserv的进程。

        设置Ocserv开机启动

systemctl enable ocserv

        启动Ocserv:

systemctl start ocserv
cat /etc/sysconfig/iptables
#报错 没有文件
#1、停止并屏蔽firewalld服务:
#停止:
systemctl stop firewalld
#屏蔽:
systemctl mask firewalld
#2、安装iptables-service软件包:
yum install iptables-services
#3、在引导时启用iptables服务:
systemctl enable iptables
#4、启动iptables服务:
systemctl start iptables
#5、保存防火墙规则:
service iptables save

你可能感兴趣的:(centos,阿里云,linux)