如何在vSphere里加载第三方设备驱动

2013/05/11

闲着无聊拿办公室的台式机搭建vSphere环境测试,找来加上的一块RTL8139D的网卡虽然能识别出来,但是系统没有内置驱动,遂Google之,得出以下方法:

  1. 下载封装好的VIB格式的驱动包
    我需要的是RealTek 8139网卡的驱动,所以找到这个包net-8139-1.0.0.x86_64.vib,当然官方有最好。
  2. 将驱动包传到vSphere服务器上
    如果启用了SSH可通过SFTP方式,或者直接在vSphere Client里传到相应的存储里面,或者用USB或者光驱。
    使用USB方式,可以在/vmfs/volumes找到挂载的卷名
    使用光驱据说比较麻烦,需要以下步骤:

    1
    2
    3
    
    # vmkload_mod iso9660
    # /sbin/vsish -e set /vmkModules/iso9660/mount mpx.vmhba32:C0:T0:L0
    # ls /vmfs/volumes/CDROM
  3. 进入vSphere的Shell
    两种方式,一个是通过SSH,一个是通过在vSphere主机键盘上按组合键Ctrl+F1,输入ROOT密码即可。
  4. 查看设备是否被识别出来
    这个简单,Linux通用命令lspci及lsusb仍然有效。

    1
    2
    3
    4
    
    # lspci
    ........
    00:03:00.0 Network controller: Realtek Realtek 8168 Gigabit Ethernet [vmnic0]
    00:04:01.0 Network controller: Realtek RTL-8139/8139C/8139C+
  5. 执行以下命令进入维护模式并允许安装第三方包
    1
    2
    
    # esxcli system maintenanceMode set -e true -t 0
    # esxcli software acceptance set --level=CommunitySupported
  6. 安装VIB格式驱动包
    1
    
    # esxcli software vib install -v /vmfs/volumes/datastore1/net-8139-1.0.0.x86_64.vib

    实际文件路径根据情况自行修改。

  7. 退出维护模式
    1
    
    # esxcli system maintenanceMode set -e false -t 0
  8. 重启,reboot
  9. 查看是否生效
    1
    2
    3
    4
    5
    6
    7
    8
    
    # esxcfg-nics -l
    Name    PCI           Driver      Link Speed     Duplex MAC Address       MTU    Description                   
    vmnic0  0000:03:00.00 r8168       Up   1000Mbps  Full   10:78:d2:XX:XX:XX 1500   Realtek Realtek 8168 Gigabit Ethernet
    vmnic1  0000:04:01.00 8139too     Up   100Mbps   Full   00:e0:4c:XX:XX:XX 1500   Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
    # lspci
    .......
    00:03:00.0 Network controller: Realtek Realtek 8168 Gigabit Ethernet [vmnic0]
    00:04:01.0 Network controller: Realtek RTL-8139/8139C/8139C+ [vmnic1]
  10. Get hosted with winity.io for awesome Windows VPS virtualization.

-EOF-

——————–
引用参考:

  1. VSphere 5.1 i Realtek 8139 (8139too) w jednym stali domu.
  2. 如何为ESXi4&5主机安装驱动

Tags: , , 484, Posted in 软言软语1 条评论

Ubuntu Network Manager的L2TP插件

2012/07/14

因为最近比较无聊,打算用Ubuntu作为ThinkPad X200的主作业系统,但是身处的两个公司,一个用Cisco VPN一个用L2TP VPN,两者都要相互兼顾才行,前者的话,倒是有很方面的安装包可以实现(network-manager-vpnc),同时还集成在Network Manager里面,而另一个用apt-cache search后发现,没有合适的L2TP客户端,按照以往的经验,似乎要安装xl2tpd和用文本配置才行,这样未免太麻烦了。

于是放狗(Google)搜索,找到这么一篇文章可以实现用Network Manager来管理L2TP连接,特转来记录一下,相关版权归原作者Cherrot所有。

大概是这么回事儿,有个项目叫NetworkManager-l2tp,作为Network Manager的第三方插件出现,托管在github,可以以集成在Network Manager的方式实现对L2TP连接的图形化管理,让用户可以不用去写那一堆堆的配置文件,大概的安装步骤如下:

  1. 添加Ubuntu特有的PPA源:
    1
    
    sudo apt-add-repository ppa:seriy-pr/network-manager-l2tp
  2. 更新系统的包管理器缓存数据:
    1
    
    sudo apt-get update
  3. 安装需要的network-manager-l2tp:
    1
    
    sudo apt-get install network-manager-l2tp-gnome
  4. 同时停止xl2tpd服务并且禁止其开机自动启动:
    1
    2
    
    sudo service xl2tpd stop
    sudo update-rc.d xl2tpd disable

之后,就可以通过Menu Bar里面的Network Manager来新建和使用、管理L2TP VPN连接了,与内置的PPTP及后装的Cisco VPN插件一样的方便快捷,不过原文作者提到了一个小问题,如果连接L2TP的VPN时提示“没有合法的 VPN Secret”的话,那么推荐重启一下你的Ubuntu,具体原因未知,据说可能是因为和其他正在运行的VPN客户端冲突导致的。

顺手截个图留念:

-EOF-

——————–
引用参考:
《Network manager的L2TP VPN插件,可选支持IPSec》
http://www.cherrot.com/2012/03/network-manager-l2tp-vpn-plugin-ipsec-supported

Tags: , , , 1,177, Posted in 开源盛试5 条评论

Steve Jobs, 1955-2011

2011/10/06

哀悼史蒂夫·乔布斯,谨此记。


»继续阅读

Tags: , , 119, Posted in 个人感官2 条评论

启用Web服务器的IPv6支持

2011/04/06

前几天Burst西海岸的VPS开售了,于是21一个鸡冻就入了一个最低配的,看样子貌似我是第14个客户……
由于Burst在主机配置里面提到了提供IPv6地址,于是昨天发了ticket请求设置,今早来看已经给我设了4个v6的地址,但是默认安装默认配置的Apache2并不支持IPv6的访问,于是萌生了整理一下各主流Web Server启用IPv6方式访问的设置,其实都不复杂。

21个人喜欢nano编辑器,如果你喜欢vi,稍微换一下命令就行。
如果提示

1
bash: nano: command not found

请如下操作

1
2
Debian/Ubuntu: sudo apt-get install nano
CentOS/Fedora: yum install nano

高快直达:1. Apache 2 / 2. Nginx / 3. Lighttpd / 4. IIS 6/7
»继续阅读

Tags: , , , , , , , 1,076, Posted in 網際網路2 条评论

全球开放注册的域名后缀(TLD)

2011/01/18
[转]
本文转载自博客好玉米(好域名)
基于作者【原创文章,转载请注明】的要求进行分享,原文在此,感谢QQPCC。

——————————————————————————————————————
21插播:如果不想看罗嗦话的,请直接按 Ctrl+F 搜索你想要注册的后缀是否在文中。

零、原作者引言

  爱玩小米的朋友其实有一点是非常纠结的,那就是许多后缀其实是不允许咱们国人注册的,也就是说,这些后缀对持有人的身份有严格的限制,就算有好域名也与你无缘。当然,有些朋友通过伪造资料或所谓的“挂靠”来注册这样的域名,但QQPCC要告诉这些朋友,其实这是不安全的,就算你想尽办法、侥幸地避开了注册局的审查,但你永远不是这个域名的主人,域名转移、域名交易都会遇到麻烦……
  那么,到底那些后缀是你可以堂堂正正地用你的中国身份注册的呢?可能很多朋友并不清楚,QQPCC今天就来给各位爱好小米的朋友说一说,如果还有QQPCC没有发现的,请大家补充。

一、国际顶级域名

    普通用户可以注册的有:.com、.net、.org、.info、.biz、.coop、.mobi、.name、.tel。

二、区域后缀

    其实都有限制,只限各大洲自己的组织或公民注册。
    不过亚洲的.asia没有关系,因为咱们都是亚洲人,呵呵!
    非洲和大洋洲好像现在并没有神码后缀,呵呵,美洲有,但现在只有二级域名开放。
    有个特殊的东东,前苏联的.su,ICANN很多次想删除,但前苏联人民对其太有感情了,多年来一直没有删除成功,这个可公开注册。

»继续阅读

Tags: , , , , , , , , , 474, Posted in 網際網路3 条评论

在OSX的Terminal使用Home和End键

2011/01/17

因为能在Mac OS X的Terminal(中文名:终端)里使用HomeEnd两个按键对我的日常使用来说实在太重要了,我甚至就为Home和End而喜欢上公司配发的ThinkPad X200忽视了我的MacBook Pro,这是一种奢侈的浪费(甚至Sophy都鼓动我卖掉MacBook Pro),但我之前的《Windows to MacOSX》里Tips1提到的按键技巧都不适用于Terminal,在X200使用越来越顺手的情况下我开始想解决这个问题。

插播:此技巧适用于iMac或者Mac Pro或者你自己外接键盘的情况,用内置键盘的MacBook用家请路过……

于是打开Google搜索到以下技巧,在此保留待查: »继续阅读

Tags: , , , , , , 1,196, Posted in Google5 条评论

SSH和谐主机的iptables设置参考

2011/01/14

这是一个关于SSH番羽土啬的话题,标题及文中的“和谐”=“番羽土啬”,感叹一下我们的文字。

因为21现在手上的VPS数量比较乐观(不是壮观……),因此其中有专司VPN和谐的、SSH和谐的、第三方推和谐的等用途,当然,Mr. 21博客也在其中一个VPS上,用的LNMP包。

写这个话题的起因是这样的,在北山老卫大神的Q群里面,有人提到了想以SSH和谐帐号来换取一些东西,因此引发了21对此的讨论。我的主要观点是不支持这么做,因为不安全(可以参考《利用Linux内核的多个安全漏洞提权》,不过本文内容与此关系不大),加上之前帮番茄童鞋配置iptables,因此引发了21对SSH和谐主机安全方面的思考,其中的一方面就是用iptables来过滤不和谐的东西。

是这样的,因为做实验的这个VPS我只用于SSH和谐,并且一般和谐仅限于Web浏览及各种基于Web的应用,所以,以下策略仅开放SSH的22端口并对其它的东西做了相应的限制。

初始化防火墙

第一步,我们总是要把一些知道的和不知道的先通通打倒了再说,于是,请如此:

1
2
3
4
5
6
7
8
9
#清除现有的规则
~#: iptables -F
~#: iptables -X
~#: iptables -Z
 
#设定默认策略为丢弃包
~#: iptables -P FORWARD DROP
~#: iptables -P OUTPUT DROP
~#: iptables -P INPUT DROP

以上是一些初始化的动作,以下是具有具体功能的策略。

防火墙规则参考一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#允许本地回环
~#: iptables -A INPUT -i lo -p all -j ACCEPT
 
#允许22端口接受连接
~#: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 
#允许传入的数据包状态
~#: iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#允许传出的数据包状态
~#: iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
 
#允许传入PING的ICMP包
~#: iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

这几条规则实现的效果是:

  1. 22端口允许用户主动发起TCP连接,一般用于提供SSH服务,如果你的SSH端口不是22,请修改;
  2. 其它端口需要ESTABLISHED、RELATED两种状态的数据包才能通过,而通常这两种状态的数据包在TCP协议上的定义是已经建立了连接的后续数据包,也就说,别人无法对你的任何端口主动发起连接,但是由你主动发起连接的数据包可以通过,比如说看网页的数据;
  3. 包状态NEW允许SSH用户对外的主动发起连接;
  4. 允许外部用户PING本机,这个嘛,方便自己测试,要不挂了都不知道。
  5. 关于数据包状态,我是参考这里 http://liubin.blog.51cto.com/282313/110394

这样,虽然防住了外面进来的问题,但一定程度上来说,用户通过SSH登录以后就可以干他想干的事情了,对于应用的范围不能达到一个控制的目的,比如说,我前面提到的“一般和谐仅限于Web浏览及各种基于Web的应用”,是的,和谐嘛,也就是用这些了,顶天了再来个FTP或者跳板另外的SSH,于是,21便想到了稍微BT一点的限制,请看参考二。
»继续阅读

Tags: , , , , , , , , , 631, Posted in 網際網路3 条评论

系统管理员和程序员

2011/01/11
[转]
本文转载自博客Gawain’s Jail
基于作者使用的创作共用授权进行分享,原文在此,感谢Guixing。

——————————————————————————————————————

Everythings Sysadmin的作者Tom给一个初级系统管理员回了封Learn your operating system’s internals的信,有讲到每次靠重启解决问题和用猜代替知道的时候总是觉得这是对行业和专业的深深打击。然后又讲了系统管理上三个复杂且容易误解的内容:内存子系统,文件子系统和进程。再加一个是安全子系统,然而这三块的内容又是理解安全的必要前提。总之就是一个系统管理员一定要深入操作系统,知道操作系统到底是怎么工作的。Tom还列了几本针对不同操作系统的书出来,

  • Windows:《Windows Internals》, 中文版:《深入解析Windows操作系统》
    Russinovich, Solomon and Ionescu;
  • Linux:《Linux Kernel Internals》, Beck, Bohme, Dziadzka, Kunitz et al;
  • FreeBSD:《The Design and Implementation of the FreeBSD Operating System》,
    中文版:《FreeBSD操作系统设计与实现》,McKusick and Neville-Neil;
  • The TCP/IP Protocol: 《TCP/IP Illustrated》, W. Richard Stevens,
    中文版:《TCP/IP详解》,W. Richard Stevens

无论你是否使用FreeBSD,都应该读一读FreeBSD的那本。TCP/IP那本就不消说了,现在离了网络的计算机啥也不是啊!
还有一个Hacker News的贴是问How to step up my coding skills?,提问的人想在半年到一年的时间里成为一个Skilled Programmer,回贴的都说程序员这摊子浑水深了,这点时间是不够的。顶的最多的是说要写代码,也有列了代码量的。不过我觉得Ixiaus列出的建议还是很实用的,比如下面几条:

  • 要成为一个程序员,不是码农。Ctrl+C/V
  • 不要忽视理论、算法、数据结构和数学
  • 学习多个语言,包括面向对象和函数式编程。

系统管理员和程序员虽是两个不同的职位,但是学习的内容应该说是差不多的,系统管理员甚至要比之程序员学得更多,了解的更多,按三金的话就是:我们知道的状态比其他人多,修好只不过是把系统调到已知状态。

——————————————————————————————————————

21之所以要转载这篇文章,是因为身为初级SysAdmin的21在没有前辈指点下自己瞎摸索,苦于没有一个明确的学习方向,一直都是东拼西凑的学习,这篇文章在一定程度上指明了21现阶段需要进行学习的内容和方向,我想我在Google Reader上Make Star和Sharing是不够的,于是转载出来与大家分享,共勉之。

-EOF-

Tags: , , 91, Posted in 二一视点我抢沙发

WordPress多用户模式子站点无法加载CSS?

2011/01/11

21今天突然手闲,想试试传闻已久的WordPress多站点模式(WordPress Multisite),于是用手上的一个DirectSpace年付的VPS(性能?淡定……)临时搭建了一个LAMP,按照WordPress Codex的操作一步一步对WordPress进行修改,按照子目录的形式最后写入 .htaccess 并建立了子站点,但是出现一个问题,子站点可以访问,但是无法加载CSS和图片等东西。

初步判断应该是 .htaccess 里面Rewrite规则可能有问题,但那是官方提供的,不应该吧……
于是通过Google大神一番搜索,确定是Rewrite规则有问题,并将 .htaccess 文件替换为以下内容后工作正常:

WordPress Multisite Based Sub-folder Mode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
 
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

————————————————我是分割线————————————————

我刚才重新弄了一下想重演故障,结果发现没问题了,记得看过一篇POST提到WP有个缓存机制导致了这个问题,不过我把 .htaccess 更新了以上代码后,就工作正常了,一时也没留意是否跟WP给出的范例代码是否有所不同,纠结了……放这儿备查吧。

————————————————我是分割线————————————————

Update: Jan 13th, 2011
终于发现问题所在了,由于我手欠,没有使用启用Network功能时 /wp-admin/network.php 提供的 .htaccess 内容,而直接使用了Codex.WordPress提供的Rewrite规则,于是 ……
来自Codex.WordPress的Rewrite规则呈现如下(无法工作的,仅供参考,别用……):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
 
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress

主要区别在于以下两句,正好影响到的是主题布景(Theme)、后台管理等功能:

有效的规则:

1
2
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

无效的规则:

1
2
RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]

-EOF-

——————–
引用参考:
WordPress Support: http://wordpress.org/support/topic/wp-multisite-htaccess-not-working
Perishable Pre: http://perishablepress.com/press/2010/07/07/htaccess-code-for-wordpress-multisite/
WordPress Codex: http://codex.wordpress.org/Migrating_Multiple_Blogs_into_WordPress_3.0_Multisite
WordPress Codex: http://codex.wordpress.org/Create_A_Network

Tags: , , , , , 965, Posted in WordPress3 条评论