vyatta操作入门
2013-11-23 16:40:53 阿炯

Vyatta是一份完整的、即刻可用的、基于Debian的发行,它被设计为能将一套标准的x86硬件转换为企业级的路由器/防火墙。Vyatta软件包括对常用网络接口、工业标准路由协议和管理协议的支持。与先前的开源软件路由项目不同,所有的这些特性都可以通过单个的命令行接口(CLI)或是基于 Web的图形用户界面来配置。                       

路由功能:IPv4, IPv6,BGP, OSPF, RIP,802.1Q VLAN,MLPPP, PPP, PPPoE,VRRP等
安全功能:Stateful Firewall,IPSec VPN,SSL-Based OpenVPN,Intrusion Prevention,URL Filtering等
性能优化:WAN Load Balancing,Ethernet Link Bonding,QoS,ECMP,MLPPP,Web Caching

本文将通过VirtualBox来试用。

安装系统
在Vyatta系统中内置了两个用户,root和vyatta,都是管理员级,密码均为vyatta,都可以执行所有的Vyatta命令和操作系统命令,前者命令完成功能和CLI帮助显示的是所有命令和文件,包括操作系统命令和文件,后者命令完成功能和CLI帮助只显示Vyatta命令。实际上是通过vyatta这个用户来操作即可,为了安全不应该使用root来操作,需要使用root来操作时,可使用(sudo -i)来切换到root模式下。

Vyatta CLI指的是Command-Line Interface,包括两种命令,一种是Vyatta特定的操作和配置Vyatta系统的命令,另一种是操作系统的shell提供的命令。为此,系统支持两种用户角色,管理员级别(Admin level)和操作者级别(Operator level),分别是可以完全控制系统和只读访问。

在Vyatta CLI中有两种命令模式:操作模式和配置模式。默认登录系统后进入的是操作模式,使用configure命令进入配置模式,使用exit命令退出配置模式,使用commit命令确认更改。在bash环境下的'Tab'键也是可用的,同样你会发现它很实用。
 
在操作模块下使用show arp命令显示所有的arp地址。

>show interface ethernet ?
Possible completions:
 eth0    show ethernet interface information
 eht1    show ethernet interface information

上面出现eth0和eth1字样。

IP地址的配置
假设将eth0作为外网口,eth1作为内网口。在本文中将192.168.10.x作为公网ip地址。
外网eth0的IP为192.168.10.20,其网关是192.168.10.1
内网eth1的IP为10.0.0.1

1、配置eth0
root@vyatta#set interfaces ethernet eth0 address 192.168.10.20/24
上面的命令设置eth0接口的ip地址为192.168.10.20 掩码255.255.255.0写为24,表示24位掩码。
 
2、配置eth1
root@vyatta#set interfaces ethernet eth1 address 10.0.0.1/24
上面的命令设置eth1接口的ip地址为10.0.0.1 掩码255.255.255.0写为24,表示24位掩码。

3、添加静态路由
root@vyatta#set set protocols static route 0.0.0.0/0 next-hop 192.168.10.1
上面的命令设置静态路由,0.0.0.0/0 next-hop 192.168.10.1表示到达外网任意地址,都通过网关192.168.10.1出去。

vyatta@vyatta#configure
#进入配置
root@vyatta#set interfaces ethernet eth0 address 16.66.1.3/24
//外网端口ip地址配置
root@vyatta#set  interfaces ethernet eth1 address 10.0.0.1/24  
//内网端口ip地址配置
root@vyatta#set protocols static route 0.0.0.0/0 next-hop 16.66.1.1      //静态路由
root@vyatta# set service nat rule 1 //建立nat
root@vyatta# edit service nat rule 1 //编辑nat
[edit service nat rule 1]
root@vyatta# set type source
[edit service nat rule 1]
root@vyatta#set type masquerade  //转换类型,还有dynamic、static可选
[edit service nat rule 1]
root@vyatta# set outbound-interface eth0  //定义出口
[edit service nat rule 1]
root@vyatta# set protocols all  //允许通过协议
[edit service nat rule 1]
root@vyatta#set source network 166.66.45.0/24  //需要转换的地址段
[edit service nat rule 1]
root@vyatta#set destination network 0.0.0.0/0  //需要到达的网络
[edit service nat rule 1]
输入完成后,用命令commit提交配置保存。最后输入命令 save config.boot 设置当前配置为开机自动调用。

附录:常用命令

1、查看配置信息
vyatta@vyatta# show

2、提交配置
vyatta@vyatta# commit

3、退出不保存
vyatta@vyatta# exit discard

4、打开web管理功能
vyatta@vyatta#set service http port 80

5、打开ssh管理功能
vyatta@vyatta#set service ssh port 22

6、退出
vyatta@vyatta# exit或者root@vyatta# quit

7、up或者top退出命令
root@vyatta# up  /逐层退出,类似于exit或quit
root@vyatta# top /一步退出,类似于DOS命令下的cd \命令

8、退出show模式
ctrl+c

设置VLAN
vyatta@vyatta# set interfaces ethernet eth2 vif 10 address 192.168.1.1/24
vyatta@vyatta# set interfaces ethernet eth2 vif 20 address 192.168.2.1/24
vyatta@vyatta# commit
vyatta@vyatta# sudo ip route replace 192.168.1.0/24 via 192.168.0.1
vyatta@vyatta# sudo ip route replace 192.168.2.0/24 via 192.168.0.1
vyatta@vyatta# ping 192.168.1.205

进入配置模式
$>configure
设置第一块网卡IP地址
#>set interfaces ethernet eth0 address 192.168.0.220/24
确认提交
#>commit

设置主机名
#>set system host-name prouter
#>commit

设置DNS服务器
#>set system name-server 8.8.8.8
#>set system name-server 202.99.160.68
#>commit

设置域名
#>set system domain-name freeoa.net
#>commit

设置时区
#>set system time-zone GMT-8
#>commit

开启SSH服务
#>set service ssh
#>commit

退出
#>exit