vyatta是一个小巧而强大的基于debian的 Linux路由发行版,随着云计算的深入,云内部的虚拟机通信已经摆脱了物理路由器的束缚,而路由器变成了一个逻辑存在,而不是一个物理实体,云路由由此诞生,给很多软路由提供了新的发展思路,vyatta就是其中的佼佼者。vyatta不仅可以安装在物理机上,还支持各种虚拟化平台,vmware、xen、kvm、hyperv等。Vyatta分为商业版和社区版,商业版通过订阅模式发布,需要序列号,配备了一个简单的web操作界面;社区版称为Vyatta Core,包含全部核心功能,但是全命令行操作,不过对于熟悉Linux或Router的攻城狮而言,十分容易上手操作。

LiveCD才230M左右,功能包括路由、防火墙、web代理(缓存过滤)、DHCP、DNS、IPS、VPN等。这里使用的是最新版vyatta core 6.5 。

下载LiveCD后启动虚拟机(两块网卡,eth0内网,eth1外网),默认用户和密码都是vyatta。
登录后进入的是一个传统debian系统,可以执行普通用户的各种常见命令,但限制比较多,建议直接使用sudo,对文件系统的操作在重启后会消失,因为vyatta运行在内存中,速度杠杠的,硬盘上仅有一个/config和/opt目录没有载入内存,可供编辑,但不推荐。

root用户无密码也无法登录,可以通过“sudo su -”获得root shell,其实直接通过vyatta用户进行sudo更好。
进入系统后进入“只读模式”,输入“configure”后进入“编辑模式”,很类似vi编辑器。

安装到硬盘的方法,在“只读模式”下执行命令,“install system”,按照提示操作即可,这里继续用LiveCD进行演示

首先给机器配置IP,网关等信息,你可以直接操作debian,但是重启后消失,所以还是按照vyatta的思路来。 

查看网卡名称 

$show interfaces 

进入编辑模式 

$configure 

内网IP 

#set interfaces ethernet eth0 address 10.0.0.100/24 

添加网卡注释 

#set interfaces ethernet eth0 description LAN 

外网IP 

#set interfaces ethernet eth1 address 192.168.122.100/24 

#set interfaces ethernet eth1 description WAN 

设置网关 

#set system gateway-address 192.168.122.1 

设置主机名 

#set system host-name mygateway 

设置域名(这里不是FQDN,需要注意) 

#set system domain-name test.org 

设置NTP,删除默认 

#delete system ntp server '0.vyatta.pool.ntp.org' 

#delete system ntp server '1.vyatta.pool.ntp.org' 

#delete system ntp server '2.vyatta.pool.ntp.org' 

#set system ntp server 192.168.122.1 

#时区设置(中国时区,这里是减号,好奇怪) 

#set system time-zone GMT-8 

设置DNS 

#set system name-server 208.67.222.222 

#set system name-server 208.67.220.220 

禁用ipv6 

#set system ipv6 disable 

系统死机自动重启 

set system options reboot-on-panic true 

设置snmp community 并设置允许访问的客户端 

set service snmp community mycommany client 10.0.0.36 

提交变更,使之生效 

#commit 

将上述配置写入/config/config.boot文件,下次重启会读取该文件 

#save 复制代码LiveCD演示中保存的 /config/config.boot,通过scp等方法保存在其他地方,安装vyatta到本地硬盘时,可以从之前的文件导入 

获得root shell 

$sudo su - 

#cd /config 

下载之前的文件 

#wget http://xxx/config.boot.bak 

#configure 

#load config.boot.bak 

关机和重启的命令分别是poweroff和reboot 复制代码另外,介绍下在一块网卡上配置多个IP的办法 

这里先配置第一个IP 

set interface ethernet eth0 address 10.0.2.15/24 

从第二个IP开始,都是虚拟IP,接口是vif (virtual interface),需要进行编号 

语法如下 

set interfaces ethernet eth0 vif 1 address 10.0.2.18/24 

set interfaces ethernet eth0 vif 2 address 10.0.2.19/24 

set interfaces ethernet eth0 vif 3 address 10.0.2.20/24 

set interfaces ethernet eth0 vif 4 address 10.0.2.21/24 

set interfaces ethernet eth0 vif 5 address 10.0.2.22/24 

查看网卡 

show interfaces 

虚拟IP占据的实际名称是eth0.1、eth0.2、eth0.10 。。。。 

最多可以配23个虚拟IP

vyatta常用操作的更多相关文章

  1. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  2. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  3. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  4. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  5. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  6. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  7. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  8. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  9. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

随机推荐

  1. java 泛型编程学习

    先发布,以后有空再修改... 第一次看到<java核心技术卷一>中关于泛型这部分的时候感觉很复杂,似乎有说不完的约束条件,让人难以理解.当时只是囫囵吞枣般过了一遍,也没有看出个什么来.现在 ...

  2. emacs不能使用中文输入法

    参考 http://blog.csdn.net/nomasp/article/details/52138501 根据Fcitx的介绍:当LC_CTYPE为英文时,在Emacs上可能无法使用输入法. : ...

  3. 每天一个 Linux 命令(17):whereis 命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...

  4. Java 反射 getDeclareFields getModifiers setAccessible(true)

    示例代码: public static Map<String, Object> dtoToMap(Object obj, String pre,            String las ...

  5. XXX esx.problem.syslog.nonpersistent.formatOnHost not found XXX

    ESXi 主机的摘要选项卡报告以下错误:配置问题:XXX esx.problem.syslog.nonpersistent.formatOnHost 未找到 XXX (2101811)   Sympt ...

  6. 莫名其妙MyEclipse

    MyEclipse Enterprise Workbench Version: 2015 Stable 2.0Build id: 13.0.0-20150518 整合SS时,\WEB-INF\clas ...

  7. 剑指Offer:面试题33——把数组排成最小的数(java实现)(未完待续)

    问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323. 思路1: ...

  8. Java开发必会的Linux命令

    Java开发必会的Linux命令 作为一个Java开发人员,有些常用的Linux命令必须掌握.即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令.因为很多服务器 ...

  9. 学习的目的:理解<转>

    http://www.hkuspacechina.com/chs/news-and-events/news/detail/news-first-day-of-school-2015-04-23 学习的 ...

  10. C语言实现GPT头和分区表的读取(gcc)

    #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h&g ...