Hyper-v搭建OpenWrt 软路由

Hyperv相关基础设置参考链接:
https://blog.skk.moe/post/hyper-v-win10-lede/
https://support.rixcloud.me/kb/deploy-openwrt-through-hyper-v/

固件下载 固件都需要转换格式参考上面的链接。
LEDE固件需要自编译,新手推荐koolshare论坛固件

koolshare论坛固件
大雕LEDE固件

注意事项:
1.网络适配器>高级功能>启用MAC地址欺骗 请勾选。添加了多少个网络适配器就需要设置几个。
启用MAC地址欺骗

2.网络适配器添加顺序决定了在路由中的接口编号顺序 如下图所示内部网络为eth0 外部网络为eth1
网络接口顺序

3.内部网络为本机提供上网功能,可以当作路由器的LAN口。外部网络为路由器WAN口,接入光猫或者上一级路由。
LAN口设置
LAN设置

LAN设置

WAN口设置 我这边由于需要固定IP才能上网,所以WAN口设置为固定IP。注意防火墙设置
WAN口设置
WAN口设置
WAN设置

宿主机有多个物理网卡可以将这个软路由网络提供给其他设备,具体操作如下:
1.为每个物理网卡都添加一个类型为「外部网络」的虚拟交换机,并且取消勾选「允许管理操作系统共享此网络适配器」并添加到虚拟机中
2.在接口管理物理设置界面中将新添加的 eth2 接口勾选上以后保存
3.根据实际情况将路由器与这个网口相连。如果多余两个网口,请确认网口顺序。
这样一套软路由就搭建成功了,虚拟机的路由系统提供路由、科学上网等功能,硬路由提供WIFI功能。

多网口设置

设置成功以后,配置好科学上网,就可以开始愉快的玩耍了。和之前部署在K3上的科学上网对比效果很明显。K3最多能跑到35-40左右,因本地网络限制了70的带宽,所以软路由也只能跑到70。

国内Netflix使用指北

什么是NetFlix

Netflix是一种提供电影和电视节目的订阅制服务,以DVD租赁发家。2011年3月起,Netflix开始为了旗下受到欢迎的流服务筹划原创内容,包括大热的《纸牌屋》和《怪奇物语》以及最近大热的 黑镜:潘达斯奈基。NetFlix也被称作为 NF、奶飞、奈飞、网飞

NetFlix 订阅及套餐

NetFlix 实行的是按月订阅,一共有三种套餐。下图展示的是香港区域的收费价格。
分别支持最多一台设备/两台设备/四台设备同时在线,同时分别提供普通分辨率/高清/超高清分辨率。支付使用信用卡/PayPal ,如果是新账户,绑定支付方式后,第一个月可以免费使用,之后会按月扣款。不想自己注册账号或者没有信用卡可以选择淘宝一下,但是不太推荐这种淘宝账号。淘宝提供的都是一个月有效期的试用账号,如果长期观看,建议订阅长期账号。长期账号可以保存自己的观影记录,NetFlix会根据你的观影记录以及评价推荐更加符合你口味的内容。支持四设备的套餐每月价格目前港区大概是80人民币左右,可以找朋友同学一起合租。

微信截图_20181230090231.png

支持设备如下:

  • Windows 及 Mac 電腦

  • 執行 Android 4.0 或更新版本的 Android 裝置

  • 執行 iOS 7 或更新版本的 iOS 裝置

  • Apple TV 2 或更新版本

  • PlayStation 3 和 PlayStation 4

  • Xbox 360 和 Xbox One

  • Windows App 8.0 或更新版本

  • Windows Phone 8.1

  • 大多數 2015 年(含)以後所購買的智慧型電視和藍光播放器

NetFlix 字幕以及分区问题

NetFlix现在在全世界190多个国家运营,除了一些特色国家。图中的灰色那一块是不是特别醒目?不同国家的套餐价格、支付方式、资源内容都会有不同。
微信截图_20181230091028.png

账号所在区

Netflix 账号所在区由第一次注册IP地址决定。这也就决定了你的订阅价格。比如美区的UHD顶级套餐现在应该是13.99$每月。如果想要更换区域,只能用新的IP地址重新注册。

观看

Netflix可观看内容只与你当前使用的当前IP有关。你可以注册一个美区的账号,然后使用港区的IP观看。这时你能观看的资源只能是港区的。比如港区很多特色的粤语片,在美区就是没有的。关于中文字幕支持。港区和新加坡区大部分都有中文字幕,日区没有中文字幕,美区原创剧有中文字幕,

更多关于各区的影视资源和订阅价格可以查看这个网站

外挂字幕
– 如需外挂字幕,按快捷键 CTRL + SHIFT + ALT + T 添加本地字幕文件。
– Chrome 安装 Super Netflix 插件 。使用外挂字幕时,字幕格式有限制。

在中国观看 Netflix

国情问题,国内需要通过网络代理服务观看NetFlix。NetFlix对代理控制的比较严格,而且一般只有原生IP以及一些小众的VPS可以观看NetFlix。提供NetFlix观看服务网络代理的价格在每月25-60左右吧。因为某些原因不推荐网络代理服务商,可以在通过相关的关键字搜索一下。想要体验好的服务是要付出代价的包括时间、精力和金钱。当然在国内视频网站上看神剧看广告也是你的自由,关键是看自己的选择!

OneDrive 资源占用过多解决方案

最近换了新电脑,迫穷硬盘只有256GB。把各种软件一装完感觉磁盘有点不够用。还好有Office365订阅,配合着1TB的OneDrive。磁盘空间得到解放,真香!用了一段时间以后发现这个OneDrive资源占用真的高,特别是同步的时候,占用40%的CPU和700多的内存。都快赶上内存大户Chrome了。搜索了一下发现如下解决方案,记录一下。

原因:
OneDrive的安装log出错了,卡在更新/安装上,占用大量资源。只删掉Log就可以。

Log位置:
C:\Users\用户名\AppData\Local\Microsoft\OneDrive\setup\logs\userTelemetryCache.otc
C:\Users\用户名\AppData\Local\Microsoft\OneDrive\setup\logs\userTelemetryCache.otc.session

解决方法:

  • OneDrive打开并且未注销登录的情况下结束OneDrive进程
  • 删除日志文件,或者直接清空C:\Users\用户名\AppData\Local\Microsoft\OneDrive\setup\logs\ 目录
  • 重新打开OneDrive既可

参考资料:Onedrive占用CPU过多的问题以及解决方法

VS2017使用MySQL和EntityFramework闪退解决方案

现象

1.VS2017新建工程使用NuGet添加最新版本的Mysql.Data和Mysql.Data.Entity引用。此处的版本分别为8.0.13和6.10.8
1.png

2.添加ADO.NET实体数据模型,设置相关数据库信息。正常情况下设置完数据库连接信息以后点击下一步会出现设置界面闪退情况。
2.png

原因

因为本机安装的mysql-connector-net的Mysql.Data.Entity的版本与项目引用的Mysql.Data.Entity版本不一致导致。必须确认两个DLL的版本号一致。

解决方案

MySQL官网下载6.10.8版本的的 mysql-connector-net。卸载原有版本,重新安装此版本即可。
另外如果在设置数据模型中无法添加MySQL连接,需要安装 MySQL for Visual Studio

已知问题

.NETFramework版本为v.4.5.2的也会出现闪退错误,建议选择v4.7.2

MySql.Data.Entity 6.10.8 与 MySql.Data 8.0.13不兼容,在调用SaveChanges方法的时候会报错 解决方案参考
stackoverflow

1.更新MySql.Data 版本

2.更新MySql.Data.Entity 版本

如果全部更新到兼容8.0 版本,那么mysql-connector-net的版本保持最新版本即可,正常引用版本如下:
3.png

Ubuntu Server 18.04 安装Redis

源安装

sudo apt-get update
sudo apt-get install redis-serve

在 /usr/bin 目录下会出现Redis 相关文件
微信图片_20181009115104.png

redis-bemchmark: 官方Redis性能测试工具
redis-server: Redis服务器
redis-cli: Redis命令行客户端
redis-check-aof: AOF文件修复工具
redis-check-dump: RDB文件检测工具

启动

redis-server #默认方式启动,非守护进程
redis-server /etc/redis/redis.conf #使用配置文件启动,守护进程

测试

微信图片_20181009115108.png

操作

redis-cli shutdown #关闭服务
/etc/init.d/redis-server stop # 停止
/etc/init.d/redis-server start # 启动
/etc/init.d/redis-server restart # 重启

修改配置文件

1.允许其他主机登录 bind 127.0.0.1 注释掉 protected-mode 修改成yes
2.最大内存占用 maxmemory
3.缓存淘汰机制 maxmemory-policy 默认为 noeviction 可以根据实际情况设置

noeviction: 不进行置换,表示即使内存达到上限也不进行置换,
所有能引起内存增加的命令都会返回error

allkeys-lru: 优先删除掉最近最不经常使用的key,用以保存新数据

volatile-lru: 只从设置失效(expire set)的key中选择最近最不经常使用的key进行删除,用以保存新数据

allkeys-random: 随机从all-keys中选择一些key进行删除,用以保存新数据

volatile-random: 只从设置失效(expire set)的key中,选择一些key进行删除,用以保存新数据

volatile-ttl: 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除,用以保存新数据

Windows备份文件到阿里云OSS

最近在维护之前的一个项目,涉及到一些用户上传的图片。由于是企业应用,图片直接保存在了服务器本地,并未使用相关的图片存储服务。而且服务器也没做什么靠谱的备份方案,感觉不是很放心,想把用户上传的相关文件定期保存到阿里云的OSS。搜索了一下发现有一个基于Python的脚本,大致是使用osscmd这个工具,定期打包文件上传到服务器,并删除过期文件。看了一下要在服务器上安装Python,配置一下相关key。Python不是很懂,看了一下相关的SDK,比较简单,打算用.NET 造个轮子。
首先参考阿里云OSS .NET SDK 创建 AccessKeyId和 AccessKeySecret,再次软件的主要实现以下功能。
1.设置备份目录打包文件并上传到阿里云,支持断点续传。
2.由于OSS 存储空间有限,需要删除过期备份文件。
3.配合Windows计划任务,设置自动备份任务。

待完善功能:
使用Server酱发送备份消息到微信,但是想到备份任务都是在半夜执行,半夜突然收到一条微信提醒感觉不是很友好,所以就暂时没添加相关通知功能。或许可以考虑添加一个邮件通知。

工具下载 AliyunOSSBackUp

使用说明
1.解压文件夹
2.使用编辑器打开 AliyunOSSBackUp.exe.config 文件
3.根据说明修改配置信息
4.需要 .NETFramework,Version=v4.7.2

相关源代码参考 GitHub

Ubuntu 18.04 安装Nvidia 显卡驱动

最近部门在弄一个深度学习的项目,记录一下在Ubuntu Server 18.04 上安装NVIDIA驱动的过程。
安装环境:Ubuntu Server 18.04
GPU: GeForce GTX 1080
首先在Google上搜索了一下,在Ubuntu 18.04上安装NVIDIA有三种方法
1. 使用标准Ubuntu仓库进行自动化安装
2. 使用PPA仓库进行自动化安装
3. 使用官方的NVIDIA驱动进行手动安装

在使用第一种和第二种方法安装的过程中出现一个私钥写入挂起。Nvidia 的论坛中有人提到这个问题。我尝试盲目输入2次密码,但是不成功。后面在安装过程中遇到各种问题不得不多次重装系统(精通Ubuntu Server18.04 安装)。

..+++
writing new private key to '/var/lib/shim-signed/mok/MOK.priv'
-----

最后综合各种解决方案采用了第三种安装方式进行安装。安装之前先在bios中禁用的secure boot。

查看显卡信息

lspci | grep VGA

下载驱动程序

在Nvidia 官网下载合适的驱动文件。下载完之后是一个名称为 NVIDIA-Linux-NVIDIA-Linux-x86_64-390.67.run 的文件

删除原有驱动

可选步骤,第一次安装不用执行此步骤

sudo apt-get remove --purge nvidia*

禁用nouveau驱动

修改blacklist.conf

sudo vim /etc/modprobe.d/blacklist.conf
#添加数据
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

修改blacklist-nouveau.conf

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
#添加数据
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

更新设置重启

sudo update-initramfs -u
reboot

更新Kernel source

根据第一步执行过程中出现的提示内容替换执行第二步中的版本号

apt-get install linux-source
apt-get install linux-headers-x.x.x-x-generic

安装Nvidia 驱动

sudo chmod +x NVIDIA-Linux-x86_64-390.77.run
sudo ./NVIDIA-Linux-x86_64-390.77.run -no-x-check -no-nouveau-check -no-opengl-files

安装过程选项(步骤有很多 给出必要提示 其他选项一般都是选择OK)
The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续

挂载Nvidia驱动

modprobe nvidia

检查驱动是否安装成功

nvidia-smi

如果出现如下提示,则说明安装成功。有很多教程没给挂载驱动这一步,直接执行此命令会提示安装不成功。

nvidia