liujia 发布的文章

在单IP的 proxmox 机子上创建 NAT 共享上网的 Windows 10 客户机

用较高配置的机子,安装 proxmox 来提供 kvm 虚拟化环境,创建包括Windows在内的客户虚拟机,是挺方便的。

本例是在已有的Debian9环境里,安装proxmox5,创建Windows10客户机。

过程:

1.vi /etc/hosts # 检查本机主机名是否与本机IP绑定好,如本例 144.172.126.32 drs2.anqun.org drs2,即drs2指向144.172.126.32
proxmox-debian-1.png

2.echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list # 添加 proxmox 安装源

3.wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg # 添加 proxmox 安装源的验证匙

4.echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 # 如果本机IPv6无法访问外网,可临时禁用IPv6

5.apt update && apt dist-upgrade # 更新软件安装源和升级系统

6.apt install proxmox-ve postfix open-iscsi # 安装 proxmox,这步耗时久些

7.reboot # 重启系统

8.浏览器访问https://ip-地址:8006,登录到proxmox管理台,如本例 https://drs2.anqun.org:8006,输入系统root用户及密码
proxmox-debian-2.png

9.先创建Linux Bridge的网络,等会创建虚拟机要用到
proxmox-debian-3.png

10.Linux Bridge vmbr0 的IP设置为10.10.10.1,掩码是255.255.255.0
proxmox-debian-4.png

11.开始创建虚拟机
proxmox-debian-5.png

12.Guest OS,客户机选择微软的Windows 10/Windows 2016
proxmox-debian-6.png

13.硬盘,本例是选择了 VirtIO Block,100 GB,RAW硬盘映像
proxmox-debian-7.png

14.CPU,本例是选择了四核心
proxmox-debian-8.png

15.内存,本例分配了8 GB
proxmox-debian-9.png

16.网络,本例选择了桥接的vmbr0,模型为 VirtIO
proxmox-debian-10.png

17.确认创建
proxmox-debian-11.png

18.启动机子后,可以打开 noVNC 控制台
proxmox-debian-12.png

19.echo 1 > /proc/sys/net/ipv4/ip_forward # 启用IPv4转发

20.iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o eth0 -j MASQUERADE # 通过iptables,让位于10.10.10.0内网的客户机,经NAT访问互联网。其中eth0是proxmox里配置有公网IP的网卡名称

21.iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 43389 -j DNAT --to 10.10.10.2:3389 # 通过iptables,将公网43389端口转发到客户机10.10.10.2的3389,用于远程桌面连接

22.在客户机上安装好Windows10,开启远程桌面功能。从外网,用tcp 43389的端口进行远程桌面连接,成功
proxmox-debian-13.png

参考:

在超微凌动服务器 - MBI-6418A-T7H 上测试安装 Windows 2003

环境:机子型号 MBI-6418A-T7H,使用英特尔 C2000 系列芯片组,默认启用 AHCI ,使用 SATA 硬盘。

测试总结:咨询超微商家,回复凌动机型仅支持Windows7或以上版本的Windows,Windows 2003系统不支持。Windows 2003是约15年前的操作系统了,现已经停止技术支持,很难在如英特尔官方网站上找到可用的 AHCI 和 内置网卡驱动。如确实需要使用Windows 2003,建议是在虚拟机里运行。

过程:

1.AHCI 设备,硬件ID 是 DEV_1F32&CC_0106 ,在网上集成的SATA驱动里,使用到的文件是 iaStorB.sys 和 iaStorF.sys
sata-1.png

2.网卡设备,硬件ID是 DEV_1F45&CC_0200,目前没有找到适合Windows 2003系统的驱动
sata-2.png

3.简单的方法,是使用“老司机”制作好的dd Windows 2003精简和补丁包
sata-3.png

4.如果想使用自己的Windows 2003安装文件,需要模着“老司机的”dd包来掏文件,修改根目录下的 txtsetup.sif,在这里增加相应的 [SCSI],[SourceDisksFiles],[HardwareIdsDatabase]和[SCSI.Load]信息;修改 $WIN_NT$.~BT/WINNT.SIF文件内容,需要在OemPnPDriversPath里填写驱动文件的路径;在 $WIN_NT$.~BT 和 $WIN_NT$.~LS/i386 目录里增加 iaStorB.sys 的文件;在相应的路径里增加相应的驱动文件,如 DRV/I/a
sata-4.png

5.如果有英特尔官方提供的f6flpy驱动文件,也可以按微软官方文档在 [MassStorageDrivers] 里载入 SATA 驱动文件

6.试过很多方法,无法在Windows 2003里成功安装上网卡驱动
sata-5.png

参考:

用 alpinelinux 作为livecd OS完成dd硬盘数据复制

环境:debian 9 64位,alpinelinux 3.8

过程:

1.mkdir /liveos # 创建 /liveos 目录

2.mount -t tmpfs tmpfs /liveos # 设置 /liveos 为 tmpfs 类型

3.cd /liveos # 切换到 /liveos 目录

4.wget -O- http://dl-cdn.alpinelinux.org/alpine/v3.8/releases/x86_64/alpine-minirootfs-3.8.0-x86_64.tar.gz|gzip -dc|tar xv # 下载 aplinelinux 文件包,解压
cusliveos-1.png
5.cp /etc/resolv.conf etc # 复制nameserver配置文件,这样可以以域名访问外网

6.mount --bind /dev /liveos/dev # 挂载 /liveos/dev,dd硬盘数据复制对象

7.mount --bind /dev/pts /liveos/dev/pts # 挂载 /liveos/dev/pts

8.mount --bind /proc /liveos/proc # 挂载 /liveos/proc

9.chroot . /bin/ash # chroot 到当前目录

10.wget -O- http://file.gz | gunzip | dd of=/dev/sda # 下载dd包,复制到sda硬盘

11.reboot -f # 重启
cusliveos-2.png
12.数据复制有效
cusliveos-3.png

参考:

通过 sysresccd LiveCD 重置Linux系统 root 用户密码

环境:CentOS 6,SystemRescueCd

过程:

1.fdisk -l # 在 sysresccd 里先看磁盘分区情况,如本例,判断原CentOS 6 主要文件在 /dev/sda3
reset-password-1.png

2.mount /dev/sda3 /mnt/custom # 将CentOS 6文件挂载到当前的 /mnt/custom

3.chroot /mnt/custom # chroot 到 /mnt/custom

4.passwd # 更换root 用户密码

5.exit # 退出chroot
reset-password-2.png

6.重启,正常加载到CentOS 6,测试新密码生效

参考:http://www.linux-magazine.com/Online/Features/Resetting-Passwords-with-SystemRescueCd

在宝塔面板安装php5.6的ffmpeg-php扩展

感谢瓜老板。

环境:宝塔面板,php5.6

过程:

1.git clone https://github.com/nilsringersma/ffmpeg-php # 下载ffmpeg-php的相关文件

2.cd ffmpeg-php # 转到 ffmpeg-php 的目录

3./www/server/php/56/bin/phpize # 运行 phpize

4../configure --with-php-config=/www/server/php/56/bin/php-config --enable-skip-gd-check # 配置
ffmpeg-php-1.png

5.make # 编译

6.make install # 安装
ffmpeg-php-2.png

7.在软件管理,php5.6的设置窗口里,打开配置文件,在末尾加上:extension=/www/server/php/56/lib/php/extensions/no-debug-non-zts-20131226/ffmpeg.so
ffmpeg-php-3.png

8.重载php5.6后,在phpinfo中,可以看到ffmpeg的相关信息
ffmpeg-php-4.png

参考: