我最近换笔记本,原来的笔记本就拿来做服务器。我在笔记本上装了ubuntu系统,并且在弄了一个vpn。相比起centos搭建vpn服务器,Ubuntu系统不知简单了几个档次。

下面我们就开始吧~

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1. 安装pptpd和ufw,这个ufw是ubuntu/debian系统的防火墙,碉堡碉堡的,特别好用!因为系统自带,所以我只安装了pptpd。如果系统没有ufw,就要安装了。

ubuntu配置pptpd服务 随笔 第1张

 

2. 编辑/etc/pptpd.conf,修改local ip和remote ip。local ip是服务器的ip地址,remote ip是你要分配给客户机的ip或者ip段。

ubuntu配置pptpd服务 随笔 第2张

 

3. 修改/etc/ppp/pptpd-options文件,将这三行注释掉,并修改DNS服务器。

ubuntu配置pptpd服务 随笔 第3张

 

 4. 修改/etc/ppp/chap-secrets文件,添加vpn用户名、密码、允许登录ip等信息。

ubuntu配置pptpd服务 随笔 第4张

 

5. 开启数据包转发功能,编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward=1注释消除。并使用sysctl -p生效。

注:此处涉及内核修改,切记备份,切记切记!!!

 

6. 修改/etc/default/ufw文件,将DEFAULT_INPUT_POLICY和DEFAULT_FORWARD_POLICY两项设置由DROP改为ACCEPT。

ubuntu配置pptpd服务 随笔 第5张

 

 7. 修改/etc/ufw/before.rules,修改前记得备份,在COMMIT前添加以下规则:

# NAT table rules
:POSTROUTING ACCEPT [0:0]
# Allow forward traffic to eth0
-A POSTROUTING -s “vpn子网” -o “网卡名称” -j MASQUERADE   
# Process the NAT table rules

ubuntu配置pptpd服务 随笔 第6张

 

 8. 启动/重启ufw和pptpd

sudo /etc/init.d/ufw start/restart

sudo /etc/init.d/pptpd start/restart

 

9. 查看pptpd状态

ps -ef|grep pptpd

ubuntu配置pptpd服务 随笔 第7张

 

 10. 做完这些操作之后,笔者兴奋地连了一波,果然可以!但是当笔者查看防火墙状态时,却发现:

ubuntu配置pptpd服务 随笔 第8张

 

这特么。。。搞事吧?极其不安全的说!!!

 

于是,笔者做了优化:)

 

1:关掉ufw

/etc/init.d/ufw stop

 

2. 安装iptables,并设置地址伪装。

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp8s0 -j MASQUERADE

 

3. 保存现有规则

iptables-save > /etc/iptables-rules

 

4. 重启pptpd服务,并测试。发现它就可以连了。查看端口,发现:

ubuntu配置pptpd服务 随笔 第9张

1723端口是开着的。

 

但是这里有个问题,我并没有对iptables进行过什么特殊的规则编写,为什么它就会自动开启那些需要的端口?目前还没搞明白,可能需要再去找找资料吧。

但是到此为止,服务就算可以用了,而且安全性还行。配合一条iptables规则:

iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport  22 -j ACCEPT

就可以保证先连接到vpn的情况下,可以比较开心地是用内网,且可以通过22端口进行ssh连接。在未来的扩展当中,还可以玩到kvm虚拟化或者docker/ks容器化这种较为高端的技术,想想都tm兴奋啊~~~

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄