Easy-rsa生成密钥证书

本来一直都是用PPTP的,简单方便,但最近移动的宽带不知道换了什么路由还是怎么回事,居然一直无法拨通,只有换成OpenVPN了,但是换成OpnVPN麻烦的是需要证书和密钥什么的,比较啰嗦。因为密钥经常需要更新或者需要新增,所以在这里记下来。

首先拷贝一份配置样本,如果路径不对那么用find找吧。

cp -r /usr/share/easy-rsa/ /etc/openvpn/

切换目录,执行:

cd  /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca

生成服务器密钥和客户端密钥

./build-key-server server
./build-key client

生成过程中会提示输入一些信息,直接回车默认,选择[y/n]的都选y,客户端如果需要可以把client改成你需要的名字。

生成Diffie Hellman参数

./build-dh

在OpenVPN的配置文件server.conf中注意文件的路径问题,然后重启载入既可以了。

PPTP客户端连接VPN的详细记录

为了工作方便,利用动态域名最近在公司里做了个VPN服务器,这样回到家后可以继续和公司同处一个局域网下,方便一些应急的时候不至于急急忙忙往公司跑。

系统继续是把做成路由的Debian,尽管它本身也已经是个VPN服务器了,但奈何现在坑爹的运营商,分配不到一个公网IP,所以这个服务器歇菜了。

首先安装客户端了,命令:aptitude install pptp-linux;安装完创建连接:pptpsetup –create 连接名称 –server 你的服务器 –username 你的账户 –password 你的密码 –encrypt。这一步具体可以用命令:/usr/sbin/pptpsetup –help,这个可以看到详细的说明格式。执行完这一步之后在/etc/ppp/chap-secrets这个文件会多出两行,但多出的第一行是注释掉的说明,第二行才是参数,格式如此:你的账户 pptp "你的密码" *,注意别掉了星号。还有在/etc/ppp/peers/这个目录下多出一个以连接名称命名的文件,里面的格式基本如此:

# written by pptpsetup
pty "pptp 你的服务器 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 你的用户名
remotename 你的连接名称
ipparam 你的连接名称
require-mppe-128

现在已经可以使用pon 你的连接名称来连接vpn服务器了。

快速在Debian上部署路由功能

用了一段时间的Ubuntu后,对于它四个桌面的切换,老是经常卡死,并且在换到17.04版本后,即使在固态硬盘和16G内存的帮助下用着N3150的处理器,感觉还是有点卡,于是乎就切换到了Debian阵营来了。也正因为装系统的次数太频繁了,所以重新整理了一下迅速部署路由功能,现在可以说在重新安装系统的情况下也可以在三分钟分钟内重新建立路由。

废话少说,步骤开始,切换到管理员账户,安装软件:

aptitude install hostapd bridge-utils dnsmasq

配置网络接口:mousepad /etc/network/interfaces

auto lo
iface lo inet loopback
auto lan0   #有线网卡名称
iface lan0 inet manual
auto wlan0  #无线网卡名称
iface wlan0 inet manual
auto br0 #自定义的接口
iface br0 inet static
address 192.168.147.1  本机局域网地址 别的机器网关就是它了
netmask 255.255.255.0
broadcast 192.168.147.255
bridge-ports lan0 wlan0 #把两真实网卡桥连
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

配置无线控制:mousepad /etc/hostapd/hostapd.conf

interface=wlan0  #无线网卡名称
bridge=br0   # 自定义的
driver=nl80211
ssid=Ubuntu  # 本热点的名称
# country_code=US
hw_mode=g  # 模式
channel=11  # 频道
dtim_period=1
rts_threshold=2347
fragm_threshold=2346
macaddr_acl=0
# accept_mac_file=/etc/hostapd/hostapd.accept #MAC地址限制,需要建立这个文件
# deny_mac_flie=/etc/hostapd/hostapd.deny
auth_algs=3
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40]
wpa=2
wpa_passphrase=88888888  # 热点密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

还有一个要改的:mousepad /etc/default/hostapd

RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"

配置DNS服务器和DHCP服务器:mousepad /etc/dnsmasq.conf

cache-size=4096
listen-address=192.168.147.1,127.0.0.1
resolv-file=/etc/resolv.dnsmasq.conf
conf-dir=/etc/dnsmasq.d

interface=br0
expand-hosts
domain=example.com
dhcp-range=192.168.147.50,192.168.147.150,12h
dhcp-option=3,192.168.147.1
dhcp-option=6,192.168.147.1

创建resolv.dnsmasq.conf文件:mousepad /etc/resolv.dnsmasq.conf

nameserver 58.20.127.170
nameserver 58.20.127.238

打开数据包转发:mousepad /etc/sysctl.conf

net.ipv4.ip_forward = 1

最后,还有一个问题,如果Debian在9之前的版本里,还有rc.local文件,那么直接可以rc.local文件里加上:mousepad /etc/rc.local

iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE

但是,在9之后的版本里,已经没有了rc.local文件,所以就要把这个规则加到文件里了。创建自启动配置文件在网络启动之前的文件夹中,并赋予可执行权限:

touch /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables

编辑该文件:mousepad /etc/network/if-pre-up.d/iptables

#!/bin/sh
/sbin/iptables-restore < /etc/iptables

执行规则定义,然后保存成文件:

iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
iptables-save > /etc/iptables

也可以使用:mousepad /etc/iptables,如下内容:

# Generated by iptables-save v1.6.0 on Mon Mar 26 10:32:21 2018
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [20:1340]
:POSTROUTING ACCEPT [20:1340]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Mon Mar 26 10:32:21 2018

重启完成~