编程技术记录

世界你好!

我是为了解决访问github越来越不稳定问题。
详细参考https://github.com/pritunl/pritunl

安装

使用包管理器安装

#mongodb源
sudo tee /etc/yum.repos.d/mongodb-org-4.2.repo << EOF
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
#pritunl源
sudo tee /etc/yum.repos.d/pritunl.repo << EOF
[pritunl]
name=Pritunl Repository
baseurl=https://repo.pritunl.com/stable/yum/centos/7/
gpgcheck=1
enabled=1
EOF

#安装
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 7568D9BB55FF9E5287D586017AE645C0CF8E292A
gpg --armor --export 7568D9BB55FF9E5287D586017AE645C0CF8E292A > key.tmp; sudo rpm --import key.tmp; rm -f key.tmp
sudo yum -y install pritunl mongodb-org

#启动父亲
sudo systemctl start mongod pritunl
sudo systemctl enable mongod pritunl

从源码安装

如果已经安装了pip,建议先升级pip

pip install --upgrade pip

按照下面的命令一行行敲。


# 设置pritunl的版本,我用的是1.29.2276.91
export VERSION=X.XX.XX.XX 

#安装必要基础环境与编译器
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install git bzr python2 python-devel python-pip net-tools openvpn bridge-utils psmisc gcc-c++

#下载go语言组件
wget https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
sudo tar -C /usr/local -xf go1.12.1.linux-amd64.tar.gz
rm -f go1.12.1.linux-amd64.tar.gz
#将go写入环境变量
tee -a ~/.bashrc << EOF
export GOPATH=\$HOME/go
export PATH=/usr/local/go/bin:\$PATH
EOF
source ~/.bashrc

#下载dns,web服务组件
go get -u github.com/pritunl/pritunl-dns
go get -u github.com/pritunl/pritunl-web
sudo ln -s ~/go/bin/pritunl-dns /usr/bin/pritunl-dns
sudo ln -s ~/go/bin/pritunl-web /usr/bin/pritunl-web

#下载源码并编译安装
wget https://github.com/pritunl/pritunl/archive/$VERSION.tar.gz
tar xf $VERSION.tar.gz
cd pritunl-$VERSION
python2 setup.py build
pip install -r requirements.txt
sudo python2 setup.py install

#以系统服务形式启动
sudo systemctl daemon-reload
sudo systemctl start mongod pritunl
sudo systemctl enable mongod pritunl

配置

增加打开文件的上限

#查看上限
sudo lsof -p <code>pgrep pritunl-web</code> | wc -l`
#修改
sudo sh -c 'echo "* hard nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "* soft nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "root hard nofile 64000" >> /etc/security/limits.conf'
sudo sh -c 'echo "root soft nofile 64000" >> /etc/security/limits.conf'

修改web服务端口为943

修改pritunl web服务的端口为943(其他没有被占用的端口都行),并将943端口添加到防火墙白名单中

#修改下面文件中的port字段
nano /etc/pritunl.conf

#添加到防火墙白名单中 943端口/tcp协议
firewall-cmd --permanent --add-port=943/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

访问pritunl web服务

需要填写mongdb的地址和setup key,其中mongdb的地址默认填写好的。setup key使用如下命令获取

pritunl setup-key

填好后,保存。

pritunl web服务的默认用户和密码

默认用户 pritunl
默认密码 使用sudo pritunl default-password获取

© Beli. All Rights Reserved.