Freeshell 支持 NAT

根据 Mm Xin 的提议,freeshell 现在启用了对 NAT 等 iptables 内核模块的支持,现在 iptables -t nat 可以使用了。请重启您的 freeshell 以应用新的配置。如果重启后仍然不能使用 NAT,请联系我们。

之前 freeshell 支持的 iptables 内核模块:

ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length

目前 freeshell 支持的 iptables 内核模块:

iptable_filter iptable_mangle ipt_limit ipt_multiport ipt_tos ipt_TOS ipt_REJECT ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_LOG ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_conntrack ipt_state ipt_helper iptable_nat ip_nat_ftp ip_nat_irc ipt_REDIRECT xt_mac ipt_recent ipt_owner

Freeshell 支持 PPP (可用于 PPTP/L2TP VPN)

Freeshell 从今天起支持 PPP 了,可用于搭建 PPTP/L2TP VPN。

所有开机状态的 freeshell 都建立了 /dev/ppp 设备,但由于原来 freeshell 限制了 ppp 设备的访问,需要重启,在 freeshell 里以 root 身份执行 reboot 命令即可。重启后,以 root 身份 “cat /dev/ppp”,应该能看到下述提示:

# cat /dev/ppp
cat: /dev/ppp: No such device or address

如果提示的是 “Permission Denied”,请尝试在控制面板中 Shutdown freeshell,状态变为 Down 后再 Start freeshell,来个冷启动。如果还不行,请联系我们。

如果你的 freeshell 里没有 /dev/ppp 设备(例如今天下午没有开机),请以 root 身份执行下面两条命令:

mknod /dev/ppp c 108 0
chmod 600 /dev/ppp

Mirrors 修复索引文件缓存不一致问题

自从去年引入 SSD cache 之后,索引文件总是有缓存不一致问题,因为有一些同步脚本中更新索引文件的操作不是原子操作,这些写操作不会触发清空缓存的动作,导致缓存不一致。现在 incrontab 监控了 IN_MODIFY 动作,一天来没有发现新的缓存不一致事件。之所以早先没监控 IN_MODIFY,是因为 rsync 同步过程中写临时文件,会触发大量的 IN_MODIFY 事件。不过在缓存一致性面前,只好牺牲一些性能了。

Freeshell 解决 CPU 高利用率问题

上个月以来 freeshell 1、4、7 节点的 CPU 利用率逐渐升高。经查,主机系统里有10个左右的 net.agent 进程(属于 udev 软件包),占了很高的 sy%。经过 Google,发现原因是 loopback interface 使用了 hotplug 而非 auto。

在 /etc/networking/interfaces 中添加了

auto lo
iface lo inet loopback

两行,再 sudo ifup lo,问题解决。

相关 commit:
https://gitlab.lug.ustc.edu.cn/boj/freeshell/commit/45e6f35edeedd3a4b78af1a6b9906fde7faa2e44

Freeshell HTTP Proxy 支持自定义域名

如果你有自己的域名,希望可以通过域名 HTTP 访问 freeshell,请在域名注册商那里修改域名的 DNS 记录,CNAME 到 proxy.freeshell.ustc.edu.cn。然后在控制面板里设置自定义域名。

Capture

请注意,这种自定义域名只能使用 HTTP 访问。