VPN物尽其用

待更新

远程登陆

道理其实和一般的路由器 port forwarding 一样。好处在在任何地方,只要连到 VPN 这个 port forwarding 都有效,在咖啡厅都可以。

部分 VPN 例如 Mullvad 能够做 port forwarding. 这等于是给连到 VPN 的设备提供了一个公网 ip。

如果还有一个服务器,可以在设定 SERVERIP 后,用这么一个简单的函数

broadcast(){
        now_ip=$(curl -L https://ip.geistlib.xyz 2>/dev/null)
        ssh $SERVERIP "echo $now_ip > now_ip" 2>/dev/null
}

将目前连接到的 VPN 的 ip “广播”出去,自然,可以将它放在“连接VPN”函数的最后,比如

connect(){
server=$(printlist | fzfmenu)
[ ! -n "$server" ] && exit
[ -n "$now" ] && notify-send "Switching from $now to $server" && wg-quick down $now
wg-quick up $server
polybar-msg hook vpn 1
broadcast
}

其中 now 并不重要,为 now=¥(nmcli | grep mullvad | head -1 | awk -F: '{print ¥1}')。那么在比如说你的手机上,你就可以首先连到 SERVERIP 对应的服务器,通过 cat now_ip 获取连接到 VPN 的设备的 ip 。接下来自然可以远程登陆你的电脑(sshd 端口设置到 forwarded 的端口,别忘了开 ufw).