使用免费Wi-Fi等时,可以安全地连接到VPN。该机制的效果是,通过创建诸如对通信进行加密的隧道并通过它的通信来阻止通信内容的拦截。换句话说,存在使用免费Wi-Fi登录某些服务时会读取ID和密码的风险,但是您可以避免这种情况。
另外,如果您使用VPN,它将通过VPN服务器,因此IP地址将更改为该服务器的IP地址。 (但是,这可能取决于所使用的工具和环境变量)。
但是,VPN非常麻烦,最好的办法是将其安装在服务中并使其可用,但要花钱。
这次,我将尝试使用pritunl在本地网络上设置VPN服务器,可以从Web UI进行设置。
https://github.com/Fridus/docker-pritunl
1 2 | $ mkdir mongo $ sudo docker-compose up -d |
docker-compose.yml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | network: image: busybox ports: - "9700:443" - "1194:1194/udp" restart: always tty: true mongo: image: mongo volumes: - ./mongo:/data/db restart: always net: container:network pritunl: image: fridus/pritunl privileged: true environment: - MONGO_URI=mongodb://127.0.0.1:27017/pritunl restart: always net: container:network |
使用
或jippi / pritunl。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/bin/bash datadir="$(dirname $(readlink -f "$0"))/data" echo "datadir=$datadir" mkdir -p $datadir/{mongodb,pritunl} touch $datadir/pritunl.conf sudo docker run \ --name=pritunl \ --detach \ --cap-add NET_ADMIN \ --network=bridge \ --restart=always \ -v $datadir/mongodb:/var/lib/mongodb \ -v $datadir/pritunl:/var/lib/pritunl \ -v $datadir/pritunl.conf:/etc/pritunl.conf \ -p 1194:1194/udp \ -p xxxxxx:xxxxx/tcp \ jippi/pritunl |
接下来,从Web UI配置设置。
1 2 3 4 5 6 7 8 9 10 11 | $ ifconfig 192.168.1.4 $ chromium https://192.168.1.4:9700 $ chromium https://localhost:9700 user,password:pritunl # IP : 192.168.1.4 # User -> Add Organization, Add User # Server -> Add Server(Port 1194/udp), Attach Organization, Start Server # User -> download profile |
您所要做的就是安装VPN Client并导入DL配置文件。客户端可以是Tunnelblick或pritunl,但取决于操作系统,可以有多种类型。
从WAN访问时,使用路由器进行端口转发等。例如,假设您路由器的全局IP为1.1.1.1。因此,这是一种将对1.1.1.1的特定端口的访问转发到本地网络的特定端口的设置。 (实际上,1.1.1.1是cloudflare的dns)
1 2 | # global ipを調べる $ curl -sL ipinfo.io |
但是,下载的配置文件(xxx.ovpn)指定了本地IP,因此您必须重写配置文件。
1 2 3 4 | $ aunpack default.tar $ vim vpn_default.ovpn - remote 192.168.1.4 1194 udp + remote 1.1.1.1 xxxxxx udp |
对于
xxxxxx,最好指定一个难以识别的数字。保存设置以转发到docker指定的端口,此处为1194。这将是诸如路由器端口转发(端口转发)之类的项目。换句话说,对于从WAN端访问特定端口,这是转发到LAN端上特定端口的过程。
例如,通过执行此操作,您可以使用iOS
如果连接失败,请在pritunl设置中同时指定路由器的全局IP,然后重新启动服务器。否则,虚拟网络将无法启动,并且在您与本地IP连接时,虚拟网络将启动,因此您可以从全局网络访问它,但是如果断开连接,则将无法从全局网络连接。我会结束的。
在本地网络上启动VPN服务器的好处
我之前提到过,当从WAN进行SSH时,通常使用路由器端口转发(端口转发)。
但是,如果本地网络上有VPN服务器,则不是这种情况。
如果从WAN传递自己的VPN服务器,则不仅将获得家庭路由器的全局IP,还将获得本地IP。您可以像往常一样使用它来访问本地网络上的每个服务器。换句话说,以下SSH将通过。
?/ .ssh /配置
1 2 3 4 5 | Host usb HostName 192.168.1.33 Port 22 IdentityFile ~/.ssh/usb User syui |
通常,从WAN端到SSH,其内容如下。您必须将家庭路由器IP(全局IP)更改为HostName,甚至还要设置端口转发。
?/ .ssh /配置
1 2 3 4 5 | Host usb HostName 1.1.1.1 # Global IP Port 22222 # ポート転送のポート番号(22222 -> 192.168.1.33:22) IdentityFile ~/.ssh/usb User syui |
如果使用的是DDNS,则不是这种情况。 DDNS例如将路由器(家庭)的全局IP(可变数字)转换为特定的域名(固定字符串)。因此,您要做的就是在HostName中写入DDNS。 VPN配置文件也是如此。
?/ .ssh /配置
1 2 3 4 5 | Host usb HostName github.com.ddns.syui # DDNS Port 22222 # ポート転送のポート番号(22222 -> 192.168.1.33:22) IdentityFile ~/.ssh/usb User syui |
xxx.opvn
1 2 | - remote 1.1.1.1 1194 udp + remote github.com.ddns.syui 22222 udp |
但是,DDNS服务通常是收费的,因此我经常使用全局IP。对于全局IP波动,请准备专用通道等,并执行cron告知是否存在IP波动。
DDNS
例如,DDNS具有以下内容。但是,我们尚未调查安全性。在
https://github.com/pboehm/ddns
https://ddns.pboehm.de/
1 2 | # example myowntest.d.pboehm.de |
ddns是围绕小型Web服务构建的,因此您只需通过curl定期调用URL即可更新IP地址。未更新10天未更新的主机将自动删除。自己的实例。