image

在  Hyper-V 上应用 Vyatta 的配置实例

        gOxiA 经常在 Hyper-V 上搭建测试环境,而这些虚拟环境通常使用一台事先部署好的 TMG 虚拟机来进行网络共享访问或一些高级的网络应用。但是最近在测试的 Windows Server 2012 Essentials 需要路由器才能执行最佳的测试和体验,否则在向导配置过程中会因找不到 upnp 或无法识别路由器而出现问题。找了不下5款基于 xNIX 的软路由系统,不是因为收费就是无法运行在 Hyper-V 下!郁闷的不得了……

        最终无意间发现了 Vyatta 这款软路由系统,支持 upnp!!虽然 Vyatta 完整版也是收费的,但是基于 Vyatta Core 的 Community  版本确实免费的,而且最新版是 Vyatta 6.4,最为重要的是 Vyatta 能够运行在 Hyper-V 的虚拟机上。gOxiA 简单试用了一下发现上手很容易,命令也很简单,于是锁定这款了这款软件,但是好事多磨,最新的 6.4 版若要使用 upnp 需要单独进行安装和配置,用了整整一天的时间来学习和实践,最终总算是大功告成,由于 xNIX 都是基于命令行的,所以写个日志用来备忘是非常有必要,除了方便以后自己查阅,还能与大家分享,岂不是件美事!

        gOxiA 本次的应用环境非常简单,真实环境是一台 Hyper-V 服务器与真实路由器相连,接入到外网,然后在 Hyper-V 上额外添加一个 VMs LAN Only 的虚拟交换机供 Windows Server 2012 Essentials 使用,然后再安装 Vyatta 充当路由器将两个网络连接,模拟真实的网络环境。大概的结构参考下图:

image

        之后为 Vyatta 准备一台虚拟机,用 Hyper-V 管理器创建一台内存512M,硬盘10GB的虚拟机,并分配两块网卡(PS:Vyatta 能够识别 Hyper-V  的高性能网卡,所以无需担心!),其中第一块网卡桥接到真实环境网络中,并作为 Vyatta 的 eth0,而第二块网卡则使用 VMs LAN Only,并作为 Vyatta 的 eth1,模拟 Windows Server 2012 Essentials(WS2012Ess)的局域网。

        接下来就要安装和配置 Vyatta,为了满足 WS2012Ess 的需求,除了要为 Vyatta 执行基本配置,还要在后面安装 upnp 支持。为了方便和清晰地记录过程,下面的命令行将不做详细的介绍。在开始前需要先下载 Vyatta 的安装镜像,可以点击下面的图标进入下载页面。

NetworkOS64_NowAvailable  注意:请下载 32Bit 的 Vyatta Core Live CD iso。

  • 安装 Vyatta,在 Hyper-V 上 mount 下载的 iso,引导后使用 vyatta 作为账号和密码登录,然后在提示符下键入“install system”执行安装,除了硬盘擦出需要键入 Yes 确认,和设置密码以外,一路下来基本上都是回车!过程简单,就不再叙述了……开始前大家需要了解一下简单的命令意思,commit 即:保存修改并生效(重启系统会丢失做过的修改);save 即:将修改应用到到配置(即永久写入);reboot 即:重启系统;poweroff 即:关机。
  • 设置 Vyatta 主机名为 VR,每个命令前我会加上 # 或 $ 的符号,其中 # 就表示在配置模式下运行命令。
    $configure(进入配置模式)
    #set system host-name vr
  • 设置 Vyatta 的域
    #set system domain-name contoso.local
  • 设置外部 IP – DHCP 模式
    #set interfaces ethernet eth0 address dhcp
  • 设置内部 IP - 静态模式
    #set interfaces ethernet eth1 address 192.168.11.254/24
  • 设置时区
    #set system time-zone Asia/Chongqing
  • 添加时间服务器
    #set system ntp server time.windows.com
  • 开启 DHCP Server
    #set service dhcp-server shared-network-name LAN-IP-Pool
    #set service dhcp-server shared-network-name LAN-IP-Pool subnet 192.168.11.0/24
    #set service dhcp-server shared-network-name LAN-IP-Pool dns-server 192.168.11.253
    #set service dhcp-server shared-network-name LAN-IP-Pool start 192.168.11.1 stop 192.168.11.200
  • 到这里,基本的设置可以说就完成了,执行 commit 保存,并启动 WS2012Ess 看是否能自动获取到 IP,如果没问题,我们就可以执行 save 存储到配置。下面可以开启 webproxy 来试试内网是否能通过 vyatta 代理方式访问外部网络。
    #set service webproxy listen-address 192.168.11.254
    #set service webproxy default-port 8080

    在 WS2012Ess 上打开 IE 配置代理地址为 192.168.11.254,端口为 8080,然后访问外部网站试试!没问题即可将 WS2012 恢复原设置,并将 IP 改为规划的静态地址。
  • 接下来就要配置 SNAT,允许内网访问外网(PS: webproxy 显然不满足环境要求)
    #set nat source rule 1
    #set nat source rule 1 source address 192.168.11.0/24
    #set nat source rule 1 outbound-interface eth0

    再次执行 commit,然后测试,如无问题就可 save。
  • 从下面开始就要执行 upnp 的安装和设置,由于upnp 的 deb 格式已经无法下载(PS:估计是被墙了),所以我们需要先下载源码再进行编译,而 Vyatta 默认并不包含编译所需的汇编工具,为此我们需要做一些准备工作,首先添加软件源。
    #set system package repository debian url http://debian.osuosl.org/debian
    #set system package repository debian distribution stable
    #set system package repository debian components main
    #commit
    #sudo apt-get update
  • 安装汇编工具
    #sudo apt-get install build-essential automake dpkg-dev dh-make fakeroot autoconf libtool
  • 下载、解压、编译 upnp
    #sudo wget http://www.maytide.net/vyatta-upnp.zip
    #unzip vyatta-upnp.zip
    #dpkg-buildpackage

    注:解压后需要进入其子目录才能执行编译,之后回到上一级目录就 ls 到 deb 格式的安装包。此外,之前 gOxiA 强烈推荐大家使用 32Bit 的 Vyatta 版本也是因为 upnp,因为 gOxiA 早先使用 64Bit 测试时发现 upnp 无法编译。
  • 下载 additional packages
    #sudo wget http://packages.vyatta.com/debian/pool/main/libu/libupnp4/libupnp4_1.8.0~svn20100507-1_i386.deb
    #sudo wget http://packages.vyatta.com/debian/pool/main/l/linux-igd/linux-igd_1.0+cvs20070630-3_i386.deb
  • 安装 deb 软件包
    #sudo dpkg –i …(后面名字省略不再叙述)
  • 待上面三个 deb 都完成安装后就可以配置 upnp,非常简单!
    #set service upnp listen-on eth1 outbound-interface eth0
    #commit
  • 现在,就可以在 WS2012Ess 上配置随处访问,完毕后我们可以在环境中访问 WS2012Ess 的外网 IP 进行测试,当然也可执行下面的命令行查看状态。
    $sudo iptables –nL –t nat
  • 除了 upnp,我们当然还会用到 DNAT,为此可参考下面的命令行。
    #set nat destination rule 1
    #set nat destination rule 1 description “Pub TCP25”
    #set nat destination rule 1 protocol tcp
    #set nat destination rule 1 port smtp
    #set nat destination rule 1 inbound-interface eth0
    #set nat destination rule 1 translation address 192.168.11.252

        至此,配置工作就算完成了!一路下来也对 Vyatta 有了入门的认识吧,一些其他的功能,如防火墙、VPN,等等可以参考官方的文档,都是很容易理解的!

ubuntu_logo chrome_logo 为 Ubuntu 添加企业根证书

        gOxiA 所在公司部署了 SBS7,涉及远程访问、Exchange 以及 Sharepoint,全部使用了 SSL 加密,对关键信息起到了有效的保护。在 Windows 客户端下导入企业根证书非常容易。

        可是,有时候 gOxiA 会使用 Ubuntu 系统,并通过 Google Chrome 访问公司应用,由于 Ubuntu 未导入企业根证书,所以当访问涉及企业私有证书的 SSL 加密网站后会有警告页面,虽然能够忽略并继续访问,但是时间久了,便会感觉很繁琐,而且用户体验也会大打折扣,毕竟在地址栏会有一个警告提示。

        所以,要解决这个问题就要将企业私有根证书倒入到 ubuntu 中,但是在 Ubuntu 下导入证书可没有 Windows 那么轻松,相对来说麻烦了一些,需要手动安装 Libnss3-tools,并使用命令行导入企业根证书。为此,我们先将企业根证书拷贝到 Ubuntu 下,之后安装 NSS command Line tools:

sudo apt-get install libnss3-tools

        最终执行如下命令导入根证书:

certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n <证书别名> -i <证书文件>

        再次访问使用 SSL 加密的公司站点,警告提示消失!

Tags: , , , ,

      Ubuntu 64-bit v7.10 Desktop

      之前有网友回复了我的帖子教我如何在 Ubuntu 下正确安装 VMware Tools,今天重新安装了 Ubuntu,为了避免不必要的麻烦,安装时选择的是英文,在安装完毕后载入 VMware Tools ,发现能够正常显示了,原来之前提到的乱码真的跟我选择中文环境有关,看来 Ubuntu 对中文环境支持的还是有些欠妥。

      根据网友提示使用 sudo 来提权安装 VMware-Tools,其中需要说明的是 VMware Tools 光盘中只有两个文件一个是 rpm类型的,另外一个是taz类型的。而 rpm 只支持 i386,所以正确的安装方法是要先将 taz 文件包释放到 /tmp 目录中,之后使用 "sudo perl vmware-install.pl" 进行安装,过程中除了需要根据实际情况指定一下分辨率大小以外,其他都默认回车即可。最后重新启动 Ubuntu,现在桌面分辨率终于正常了。下来需要好好体验一下这个传说中的操作系统。

Ubuntu

      该图是800*600分辨率下的 Ubuntu,在 VMware 下体验完全没有问题比之前的分辨率要方便多了。接下来要研究该如何启用中文支持。

初体验 - Ubuntu 64-bit v7.10

[ 2008/01/05 11:56 | by gOxiA ]

    Ubuntu 64-bit v7.10 Desktop

      时下 Linux 方面 Ubuntu 可谓是大出风头,为此我决定尝试一下,起初也是因为 gOS 才会开始关注 Ubuntu,最近才将 PC 及 Server 的 64-bit 版下载下来,昨天晚上进行了安装测试。

      整体来讲 Ubuntu 的安装非常直观简单,但是相比较微软的 Vista,还是略显复杂,Vista 改进的安装模式确实受到了广大用户及媒体的好评,即使是一个初手也能顺利地将 Vista 安装上。呵呵说着说着就比较起来了,确实我更青睐 Windows!

      此次安装 Ubuntu 体验时间很短就是安装上看了看,也写不出什么心得,主要是因为在 VMware 下安装时分辨率无法固定,查了资料才知道确实有这个问题,默认 Ubuntu 是 1680*1050 的,GOD!真够强悍的,这在虚拟机里操作可是太麻烦了,不过提到可以在系统完成安装后安装 VMware 插件,实际测试发现载入 VMware 插件光盘后里面的文件都是乱麻,来回切换操作实在太麻烦,网上的插件安装说明也不具体,只得最后放弃,不过奖安装解图下来,供大家参考!

      Ubuntu 在宿主上安装后,其性能、功能、兼容性是否如何还需要考证,不过从目前各大厂商开始提供 OEM 安装来看,确实都比较看好 Ubuntu,希望它能走得更长远,有竞争才有进步,操作系统市场还是需要有竞争的,不是么?!

      随后我又测试了 Ubuntu 的 Server 版,安装后竟然无法顺利启动只得放弃。下面还是看看解图吧,感兴趣的朋友们可以测试一下,也许会有另类的收获。

FreeBSD的方便之处在于Ports安装模式,他可以使我们获取最新版本的应用软件并且方便的安装在我们的FreeBSD系统上,可是当我们在使用Ports方式安装时,最痛苦的莫过于它的下载速度,现在我们可以借助axel来提速Ports,实际效果非常明显。

一、安装axel

# cd /usr/ports/ftp/axel

# make install


二、配置make.conf

# ee /etc/make.conf

加入:

FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
MASTER_SITE_OVERRIDE?=\
http://ports.hshh.org/${DIST_SUBDIR}/\
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}

FreeBSD-网络优化

[ 2006/08/15 12:52 | by gOxiA ]

在网上找到一篇关于FreeBSD网络优化的文章,特转记于此:

# ee /etc/sysctl.conf
net.inet.ip.check_interface=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.recvspace=65535
net.inet.tcp.sendspace=65535
kern.ipc.somaxconn=32768
kern.ipc.maxsockbuf=2097152
net.inet.ip.redirect=0
net.inet.icmp.icmplim=100
net.inet.tcp.always_keepalive=1
net.inet.tcp.delayed_ack=1
net.inet.udp.maxdgram=65535
net.local.stream.sendspace=65535
net.local.stream.recvspace=65535
kern.maxfiles=65536
kern.maxfilesperproc=65536
net.inet.udp.checksum=1
net.inet.tcp.msl=7500
net.inet.tcp.syncookies=1
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0
kern.securelevel=0

# ee /boot/loader.conf
kern.maxdsiz="536870912"
kern.ipc.maxsockets="4008"
kern.ipc.nmbclusters="32768"
kern.ipc.nmbufs="65535"
kern.ipc.nsfbufs="2496"
net.inet.tcp.tcbhashsize="2048"

# shutdown -r now

FreeBSD 6.1-RELEASE 正式发布

[ 2006/05/12 10:03 | by gOxiA ]

      期待已久的FreeBSD 6.1 终于正式发布了,比计划时间迟到了2个多月。准备下载测试一下!

      官方页面:http://www.freebsd.org/releases/6.1R/announce.html

尝鲜 RedHat Fedora 5

[ 2006/04/03 14:14 | by gOxiA ]

Fedora 5Fedora 5 终于发布了,从官方镜像站点足足下载了5天才将5张CD拉到本地。怀着激动的心情打开VM开始安装,之前创建的VM使用的是SCSI硬盘,没想到在安装过程中提示找不到硬盘,只好又重新配置VM使用IDE。

整体来说这次发布的版本除了界面有很大的变化其他的我也没看出什么来,安装后在图形界面运行程序感觉还是那么的慢,看来指望他替代桌面系统还是过早了。不过回头会考虑只安装基本组件来测试部署web服务器来测试。

如何完全禁止sendmail运行

[ 2006/03/20 17:05 | by gOxiA ]

要测试部署Postfix,就必须将FreeBSD上的sendmail完全禁用,所以从google上找到了案案,备忘!

修改配置文件 rc.conf,添加:

sendmail_enable="NONE"

这段时间一直在学习FreeBSD,可是发现系统为了保障安全性禁止root通过SSH远程访问,因为我要用WinSCP(它可使免费的)来传文件,至今没能找到如何切换到root下,郁闷!所以决定找办法使root可以通过SSH访问!

修改SSH的配置文件sshd_config:

PermitRootLogin = YES

分页: 1/4 第一页 1 2 3 4 下页 最后页 [ 显示模式: 摘要 | 列表 ]