托盘显示 “No internet connection”
Windows 10 包含网络 portal 检测。将以下域名加入代理软件(代理和 DNS fake ip)白名单,:
*.msftconnecttest.com
*.msftncsi.com
注册表位置:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet]
"ActiveDnsProbeHost"="dns.msftncsi.com"
"ActiveDnsProbeHostV6"="dns.msftncsi.com"
"ActiveWebProbeContent"="Microsoft Connect Test"
"ActiveWebProbeContentV6"="Microsoft Connect Test"
"ActiveWebProbeHost"="www.msftconnecttest.com"
"ActiveWebProbeHostV6"="ipv6.msftconnecttest.com"
"ActiveWebProbePath"="connecttest.txt"
"ActiveWebProbePathV6"="connecttest.txt"
允许同时使用 WiFi 和 Ethernet
如果需要优先使用 Ethernet 网卡连接Internet, 选择想要优先使用的网卡:
控制面板网卡属性(properties) - Internet Protocol Version 4 (TCP/IPv4) Properties - Advanced:
取消勾选 Automatic metric, 在 Interface metric 里输入一个数值 (5 或 10 均可),然后点 ok 关闭所有对话框即可。(注意不是在 Default gateways 哪里点 Edit 修改 Gateway 的 metric,那个是设置同一网卡不同网关的优先级)
这样 route print -4 显示的对应网卡的 0.0.0.0/0 默认路由 metric 会自动设为比其他网卡更低的值。
如果不设置,windows 生成的不同网卡的默认路由 metric 好像是随机的,没有规律。无法保证实际使用哪个网卡上网。
Update: 以上设置有时无效,无法保证始终使用某个网卡连接 Internet。建议直接设置路由:
route add -p 0.0.0.0/1 192.168.2.1
route add -p 128.0.0.0/1 192.168.2.1
默认设置下,如果插了有线网卡并且Internet连通,Windows 不会自动连接 WiFi,即使范围内存在设为 "Auto connect" 的 WiFi。解决方法:
ConnectToWifiAutomaticallyEvenLanPlugged.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WcmSvc\GroupPolicy]
"fMinimizeConnections"=dword:00000000
Routing
route add 192.168.1.0/24 192.168.50.1 metric 100
route delete 192.168.1.0/24
route print
metric: 等效于 Linux 里 routing 的 metric,数字越小优先级越高。
端口转发
比如将 incoming 的 8080 端口流量重定向到(本地的)80 端口,即类似于 Linux 的下面 iptables 规则
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80
Windows 下用可以 netsh interface portproxy 实现:(目前仅支持 tcp 协议端口转发)
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8080 connectaddr
ess=127.0.0.1 connectport=80
这个 netsh interface portproxy 相当于 Windows 自带的一个 tcp 代理。
查看当前已有规则:
netsh interface portproxy dump
如果需要开启自动生效,可以加到 shell:startup 文件夹里的 .bat 脚本里。
挂载 SAMBA 共享
net use H: \\server\path
net use H: /delete
如果需要挂载 Samba server "根目录",可以在 samba server 里创建个共享文件夹,然后用 mklink 创建到各个盘符链接:
mklink /J C C:\
mklink /J D D:\
然后在客户端用 net use 挂载这个共享文件夹即可。为了防止误操作删除(windows 10 对符号链接处理仍然有问题),建议用 NTFS 权限对这个 "根目录" 共享文件夹增加一个 everyone 的 write: deny 的权限设置。建议共享权限设置为只允许 administrators 访问。