PPTP 容易被防火墙锁定,国外 vps 尽量不用;
pptpd 服务器 https://www.bbsmax.com/A/nAJvO0Xx5r/
1 安装pptp # apt-get install pptpd
2 安装之后配置pptp,首先查看本机ip和网卡信息 # ifconfig
eth0是外网的的网卡,下面的步骤要用的
3 配置pptp的主配置文件,设置pptp内网地址,并配置地址池 # vi /etc/pptpd.conf
localip 192.168.0.1
remoteip 192.168.0.134-238,192.168.0.245
localip 是本机的局域网的IP地址,remoteip是ip地址池范围,这里用默认的就好了,将前面的注释符去掉就可以了
4 设置pptp用于解析dns的服务器ip地址 #vi /etc/ppp/pptpd-options ms-dns 1.1.1.1 ms-dns 8.8.8.8
5 添加pptp登录用户 # vi /etc/ppp/chap-secrets
user pptpd password *
6 重启下pptpd服务 # /etc/init.d/pptpd restart
7 开启系统的路由转发功能 # vi /etc/sysctl.conf 将 net.ipv4.ip_forward=1 重新读取sysctl配置 #sysctl -p
8 配置防火墙规则,不然无法上网
没有安装iptables的话,先安装下
开启路由转发规则 # iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
保存规则 # iptables-save >/etc/iptables-rules 编辑网卡,使得网卡每次重启自动加载防火墙规则 # vi /etc/network/interfaces
或加入到 /root/ddns/drop 文件里
9 设置mtu,防止数据包过大,产生有些网站访问不了。正常设置为1200
# iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m tcp –tcp-flags SYN,RST SYN -j TCPMSS –set-mss 1200
保存规则 # iptables-save >/etc/iptables-rules
10 设置pptp随系统自启动, 测试下pptp服务有没有开启,默认开启的端口是1723端口
# update-rc.d pptpd enable
# netstat -tuln | grep 1723
pptp服务端配置到此结束,客户端的配置可以分为在windows和linux下,windows的客户端一进集成到系统,简单配置及可以了,暂时讨论。
这里我配置的过程中出现619的错误,原来是我配置pptp的账户密码时填错了服务名将pptpd填成httpd,呵呵,这个错误也会发生。
pptd 客户端
https://www.likecs.com/show-308355991.html#sc=126
A.安装pptp客户端软件 sudo apt-get install pptp-linux
B.查看网络配置 ifconfig / route -n
C.初始化一个***的连接通道:mypptp
sudo pptpsetup --create mypptp --server xxx.xxx.xxx.xxx --username xx1 --password xx2 --encrypt --start ip addr show
D.
1.断开***连接 poff mypptp
2.重新连接*** pon mypptp
3.读取配置文件重新连接*** sudo pppd call mypptp updetach
容易被防火墙锁定,国外 vps 不用;
IPsec VPN ios 测试成功,安卓成功,https://github.com/hwdsl2/docker-ipsec-vpn-server
docker run \ --name ipsec-vpn-server \ --env-file /root/conf/vpn.env \ -v ikev2-vpn-data:/etc/ipsec.d \ -v /lib/modules:/lib/modules:ro \ --network=mynet \ --ip 172.18.0.5 \ -d --privileged \ hwdsl2/ipsec-vpn-server L2TP without IPSec 没有秘钥 依据如下 https://github.com/hwdsl2/docker-ipsec-vpn-server/issues/191 run.sh 把如下两行注释 # $ipi 1 -p udp --dport 1701 -m policy --dir in --pol none -j DROP # $ipi 6 -p udp --dport 1701 -j DROP Dockerfile 增加 1701/udp EXPOSE 500/udp 4500/udp 1701/udp 重新生成镜像iptables -t nat -nL 指定 IP 才可以访问;墙外主机无法直连,墙内的 vps 才需要这样设置, https://10001blog.xslinc.com/?p=9475 /root/ddns/drop /sbin/iptables -I INPUT -p udp --dport 500:4500 -j DROP /sbin/iptables -I INPUT -s frp11.xie3fa.top,172.17.0.0/24,172.18.0.0/24 -p udp --dport 500:4500 -j ACCEPT /root/ddns/ipupdate `/sbin/iptables -t nat -D PREROUTING -s $old_ip -p udp --dport 500 -j DNAT --to-destination 172.18.0.5:500` `/sbin/iptables -t nat -D PREROUTING -s $old_ip -p udp --dport 4500 -j DNAT --to-destination 172.18.0.5:4500` `/sbin/iptables -t nat -I PREROUTING -s $new_ip -p udp --dport 500 -j DNAT --to-destination 172.18.0.5:500` `/sbin/iptables -t nat -I PREROUTING -s $new_ip -p udp --dport 4500 -j DNAT --to-destination 172.18.0.5:4500`Windows 错误 809 REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f (测试ok) 某些个别的 Windows 系统配置禁用了 IPsec 加密,此时也会导致连接失败。要重新启用它,可以运行以下命令并重启。 REG ADD HKLM\SYSTEM\CurrentControlSet\Services\RasMan\Parameters /v ProhibitIpSec /t REG_DWORD /d 0x0 /f (未遇到这种情况) Android 重要: Android 用户应该使用更安全的 IKEv2 模式 连接(推荐)。Android 12+ 仅支持 IKEv2 模式。 Android 系统自带的 VPN 客户端对 IPsec/L2TP 和 IPsec/XAuth ("Cisco IPsec") 模式使用安全性较低的 modp1024 (DH group 2)。 如果你仍然想用 IPsec/L2TP 模式连接,你必须首先编辑 VPN 服务器上的 /etc/ipsec.conf 并在 ike=... 一行的末尾加上 ,aes256-sha2;modp1024,aes128-sha1;modp1024 字样。保存文件并运行 sudo service ipsec restart。 Docker 用户:在 你的 env 文件 中添加 VPN_ENABLE_MODP1024=yes,然后重新创建 Docker 容器。 如果你的 Android 6.x 或者 7.x 设备无法连接,请尝试以下步骤:单击 VPN 连接旁边的设置按钮,选择 "Show advanced options" 并且滚动到底部。如果选项 "Backward compatible mode" 存在(参见屏幕截图), 请启用它并重试连接。如果不存在,请尝试下一步。 编辑 VPN 服务器上的 /etc/ipsec.conf。找到 sha2-truncbug 一行并切换它的值。也就是说, 将 sha2-truncbug=no 替换为 sha2-truncbug=yes,或者将 sha2-truncbug=yes 替换为 sha2-truncbug=no。保存修改并运行 service ipsec restart。然后重新连接 VPN。 Docker 用户: 如需在 /etc/ipsec.conf 中设置 sha2-truncbug=yes(默认为 no),你可以在你的 env 文件中添加 VPN_SHA2_TRUNCBUG=yes,然后重新创建 Docker 容器。使用 IPSec Xauth PSK 能拨号上去,但是上不了网;Android MTU/MSS 问题 暂时没有遇到这个问题;
Docker 用户: 要修复这个问题,不需要运行以上命令。你可以在你的 env 文件中添加 VPN_ANDROID_MTU_FIX=yes,然后重新创建 Docker 容器。
苹果 IPSec 拨号上去,无法上网; 浏览器输入本身服务器的 ip,可以访问80的网页; 浏览器输入本身服务器的 ip,不可以访问80的网页;说明不能访问外网; https://github.com/hwdsl2/setup-ipsec-vpn/issues/247 用本地 ssh 终端,也无法 ping 通外网 ip,原因上vpn.env 加了 VPN_SHA2_TRUNCBUG=yes安卓 IPSec Xauth PSK 拨号上去能上外网,可以 ping 通外网 ipIKEv2 证书绑定了 ip,无法穿透内网; frp12:vpnclient.mobileconfig vpnclient.sswan vpnclient.p12 frp11:vpnclient.mobileconfig vpnclient.sswan vpnclient.p12 frp10:vpnclient.mobileconfig vpnclient.sswan vpnclient.p12局域网内:windows 和 iPhone 手机不能用本网段的外网 ip,用内网地址可以,百思不得其解;安卓正常; 路由器定时执行此命令 指向网关ip;lan_ip 为网关ip my_ip 为路由器外网ip;/usr/sbin/iptables -t nat -I PREROUTING -s $lan_ip/24 -d $my_ip -j DNAT --to-destination $lan_ip 从内网段的 ip 访问路由器外网 ip,范围太大,影响后面本地网段iptables -t nat -I PREROUTING的设置,后面设置不起作用;`/usr/sbin/iptables -t nat -I PREROUTING -s $lan_ip/24 -d $my_ip -p udp --dport 500:4500 -j DNAT --to-destination $lan_ip` 从内网段的 ip 访问路由器外网 ip 的 udp 端口500:4500,指向网关ip;500 1701 4500 在这网段里;如何解决小米路由VPN 无PSK连接l2tp 安装脚本### 系统支持:CentOS6+,Debian7+,Ubuntu12+wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.shchmod +x l2tp.sh./l2tp.sh不支持直接在系统操作小米路由器 L2TP 服务器端 OpenWrt上搭建纯L2TP服务器编辑/etc/xl2tpd/xl2tpd.conf,配置l2tp服务器端L2TP without IPSec 没有秘钥 小米路由器连接有问题,经常连接不上;有时候连接上去上不了网,也 ping 不通其他连接到服务器的客户端;
启用 Libreswan 日志
为了保持较小的 Docker 镜像,Libreswan (IPsec) 日志默认未开启。如果你需要启用它以进行故障排除, 首先在正在运行的 Docker 容器中开始一个 Bash 会话: docker exec -it ipsec-vpn-server env TERM=xterm bash -l 然后运行以下命令: # For Alpine-based image apk add --no-cache rsyslog rsyslogd rc-service ipsec stop; rc-service -D ipsec start >/dev/null 2>&1 sed -i '/pluto\.pid/a rsyslogd' /opt/src/run.sh exit 注: 如果你在不启用 privileged 模式的情况下使用本镜像,则错误 rsyslogd: imklog: cannot open kernel log 是正常的。 完成后你可以这样查看 Libreswan 日志: docker exec -it ipsec-vpn-server grep pluto /var/log/auth.log 如需查看 xl2tpd 日志,请运行 docker logs ipsec-vpn-server 查看服务器状态 检查 IPsec VPN 服务器状态: docker exec -it ipsec-vpn-server ipsec status 查看当前已建立的 VPN 连接: docker exec -it ipsec-vpn-server ipsec trafficstatus OPENVPN 测试中 https://hub.docker.com/r/kylemanna/openvpn 用于 Docker 的 OpenVPN http://www.manongjc.com/detail/64-rvungbvqhbiyqdz.html docker部署openvpn#生成配置文件 docker run -v /root/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://frp11.xie3fa.top 生成密钥文件 docker run -v /root/openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki 启动 OpenVPN 服务器进程 docker run -d --name openvpn-server -v /root/openvpn:/etc/openvpn --cap-add=NET_ADMIN kylemanna/openvpn 生成没有密码的客户端证书 docker run -v /root/openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass 使用嵌入式证书检索客户端配置 导出客户端配置 docker run -v /root/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn
Leave A Comment