WSL SSH 登录

仅做记录。

Step 1:在 WSL 中重新安装 OpenSSH

sudo dpkg-reconfigure openssh-server

Step 2:修改 /etc/ssh/sshd_config,将 Port 改为一个 1024 以上的值,如果没有配置密钥的话,允许密码登录

Step 3:重启 SSH 服务

sudo service ssh --full-restart

这样就可以从另一台 PC 上登录进本机的 WSL 了,VSCode Remote 之类的也都能正常运行。

使用 Docker 快速架设一个 IPSec VPN Server

仅作记录使用,环境为 Ubuntu 18.04 LTS

Docker Image 来自 hwdsl2/docker-ipsec-vpn-server

# Install docker
apt update
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install docker-ce docker-ce-cli containerd.io

# Pull the docker image
docker pull hwdsl2/ipsec-vpn-server

之后创建一个 env 文件规定 IPSec 使用的 PSK、用户名和密码,假设存储在 /home/user/.config/vpn.env

# Define your own values for these variables
# - DO NOT put "" or '' around values, or add space around =
# - DO NOT use these special characters within values: \ " '
VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password

# (*Optional*) Define additional VPN users
# - Uncomment and replace with your own values
# - DO NOT put "" or '' around values, or add space around =
# - Usernames and passwords must be separated by spaces
# VPN_ADDL_USERS=additional_username_1 additional_username_2
# VPN_ADDL_PASSWORDS=additional_password_1 additional_password_2

# (*Optional*) Use alternative DNS servers
# - Uncomment and replace with your own values
# - By default, clients are set to use Google Public DNS
# - Example below shows Cloudflare's DNS service
# VPN_DNS_SRV1=1.1.1.1
# VPN_DNS_SRV2=1.0.0.1

# (*Optional*) Advanced users can set up IKEv2. See:
# https://git.io/ikev2docker

使用 systemd 开机自启动,假设文件在 /etc/systemd/system/ipsec.service:

[Unit]
Description=IPSec Docker
After=docker.service
Requires=docker.service

[Service]
User=root
Type=oneshot
RemainAfterExit=yes
ExecStartPre=-/usr/bin/docker stop ipsec-vpn-server
ExecStartPre=-/usr/bin/docker rm ipsec-vpn-server
ExecStart=/usr/bin/docker run --name ipsec-vpn-server --env-file /home/user/.config/vpn.env --restart=always -p 500:500/udp -p 4500:4500/udp -d --privileged hwdsl2/ipsec-vpn-server
ExecStop=/usr/bin/docker stop ipsec-vpn-server
ExecStopPost=/usr/bin/docker rm ipsec-vpn-server

[Install]
WantedBy=multi-user.target

之后使用 docker logs ipsec-vpn-server 就能看到本次使用的登录凭据。

Xfinity Gateway 桥接模式使用

给手上的 RT-ACRH17 刷了梅林,然后实在是看那个 Double-NAT 不爽,打算把 Xfinity 的那个 modem 改成桥接模式。折腾一番之后终于搞定了,这里记录下几个问题。

我这个 modem 是 ARRIS TG1682G,型号是 XB3,调成桥接模式只要按照 Xfinity 的文档操作即可,调整完以后理论上只有 LAN1 可用,用一根网线从 modem 的 LAN1 直接接到 PC 上,看下通不通,如果通的话,说明 modem 本身没有问题,然后记录下 PC 有线网卡的 MAC 地址。

之后进入 RT-ACRH17 的设置界面,按照下图调整:

这里 DNS 我用的是 CloudFlare 的 public DNS,也可以换成例如 Google DNS 之类,这个无所谓。重点在于,在 ISP 特殊要求下,将 MAC 地址一栏中填入刚刚记下的 PC 有线网卡 MAC 地址,然后将 DHCP 查询频率改成普通。似乎 Xfinity 那里会限制这个 MAC 地址,如果不做克隆的话会无法完成 DHCP。也就是说,垃圾 Comcast 实际上是限制你用自己的无线路由的。

然后是 IPv6 的配置:

如果没有将 modem 改为桥接模式的话,这里类型应该选 Passthrough,在本文的场景下,应选择 Native,其他选项按照图内配置。同样的,这里的 DNS 我用的是 CloudFlare 的 DNS,可以改成其他你喜欢的地址。

稍等一段时间这里会出现一个 /64 的 prefix,说明配置成功。这里响应稍微有些慢,在 IPv4 上线以后可能还要两三分钟这里才会出现,是正常情况,等一下就好。

然后就结束了,重点就在于 MAC 地址要克隆 PC 的有线网卡地址,不然服务端会做一些奇怪的限制导致 DHCP 失败连不上网。

关于 GADWP 插件

几个月前,用于在 WordPress 上添加 Google Analytics 跟踪的插件 GADWP 经历了一次更新,似乎是被某个公司买了,然后加了一堆臃肿的功能,比原来请求了除 Analytics 以外更多的权限,然后也开始收费了。

如果想要原来的版本,有两个办法,一个是使用 fork 出来的 GAinWP,另一个是使用最后一个没有更新的版本 5.3.10,把 6.0 版本删掉然后上传 zip 包就可以了,最后别忘了去 Google 账号里面 revoke 掉 ExactMetrics 的权限。

P2419H 显示器校色文件

设备:i1 Display Studio

Correction file:LCD White LED IPS (Dell, DELL P2419H (i1 Pro 2) by son01490517)

Target:sRGB, D65, 120cd/m²

显示器设置:亮度 50%,对比度 75%,R 99%,G 96%,B 92%

ICC:P2419H #2 2020-03-30 23-32 D6500 2.2 M-S XYZLUT+MTX

3dlut:P2419H #2 2020-03-30 23-32 D6500 2.2 M-S XYZLUT+MTX.Rec709.B0.0,2.4eGawt65

 

 

另外一个版本:(非常神奇,这个设置下的 Gamut 比之前一个版本大)

显示器设置:亮度 50%,对比度 75%,R 96%,G 93%,B 84%

ICC:P2419H #2 2020-05-24 14-17 D6500 2.2 S XYZLUT+MTX

3dlut:P2419H #2 2020-05-24 14-17 D6500 2.2 S XYZLUT+MTX.Rec709.B0.0,2.4eGawt65

关于 VSCode SSH 插件出现 flock: 99: Input/output error 的解决方案

VSCode 的 SSH 插件默认会在 ~/.vscode-server 下获取 lock,但是在某些 home 目录挂载在 NFS 的服务器上会出现 > flock: 99: Input/output error 的错误。

解决方案是在 /tmp 下获取 lock,在 SSH 插件的设置中选中 LockFiles In Temp 即可,或者搜索 remote.SSH.lockfilesInTmp 也可以找到这个设置。