2014年11月

想知道怎样从Ubuntu 14.04 LTS 升级到Ubuntu 14.10么? 这就是我们要讲的

Canonical不会强迫14.04的用户升级到14.10这个中间版本

但这并不意味着 不能将你的坚如磐石的Trusty Tahr升级到(有点让人印象深刻的)Utopic Unicorn。

要得到非LTS版本的Ubuntu发布通知,你需要在软件和更新工具中选择。这个很直接。

  • 打开 ‘软件和更新
  • 选择 ‘更新’ 选项
  • 进入‘有新版本Ubuntu时通知我’的选项
  • 在下拉菜单选项中将‘对于长期支持版本’改成‘对于任何版本

切换后你会想快点更新。

现在准备就绪!Canonical此刻会弹出“升级”提示给用户(相比较普通的ISO镜像而言经常延迟)可以通过软件更新工具更新到14.10了。


via: http://www.omgubuntu.co.uk/2014/10/upgrade-ubuntu-14-04-to-14-10

作者:Joey-Elijah Sneddon 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

问题:我在CentOS系统上运行一台网页或文件服务器,打算远程访问服务器。因此,我需要更改防火墙规则以允许访问系统上的某个TCP端口。那么,有什么好方法在CentOS或RHEL系统的防火墙上开启TCP/UDP端口?

如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格。因此,如果你安装了任何定制的服务(比如web服务器、NFS和Samba),那么它们的流量很有可能被防火墙规则阻塞。所以需要在防火墙上开启必要的端口以允许流量通过。

在CentOS/RHEL 6或更早的版本上,iptables服务允许用户与netfilter内核模块交互来在用户空间中配置防火墙规则。然而,从CentOS/RHEL 7开始,一个叫做firewalld新用户空间接口被引入以取代iptables服务。

使用这个命令察看当前的防火墙规则:

$ sudo iptables -L 

现在,让我们看看如何在CentOS/RHEL上修改防火墙来开启一个端口。

在CentOS/RHEL 7上开启端口

启动CentOS/RHEL 7后,防火墙规则设置由firewalld服务进程默认管理。一个叫做firewall-cmd的命令行客户端支持和这个守护进程通信以永久修改防火墙规则。

使用这些命令来永久打开一个新端口(如TCP/80)。

$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
$ sudo firewall-cmd --reload 

如果不使用“--permanent”标记,把么防火墙规则在重启后会失效。

在CentOS/RHEL 6上开启端口

在CentOS/RHEL 6甚至更早版本系统上,iptables服务负责维护防火墙规则。

使用iptables的第一条命令可以通过防火墙开启一个新TCP/UDP端口。为了永久保存修改过的规则,还需要第二条命令。

$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo service iptables save 

另一种方法是通过一个名为system-config-firewall-tui的命令行用户接口(TUI)的防火墙客户端。

$ sudo system-config-firewall-tui

选择位于中间的“Customize”按钮,按下ENTER键即可。

如果想要为任何已知的服务(如web服务器)修改防火墙,只需勾选该服务,然后关闭工具。如果想要开启任意一个TCP/UDP端口,选择“Forward”按钮,然后进入下一个界面。

选择“Add”按钮添加一条新规则。

指定一个端口(如80)或者端口范围(如3000-3030)和协议(如tcp或udp)。

最后,保存修改过的配置,关闭工具。这样,防火墙就永久保存了。


via: http://ask.xmodulo.com/open-port-firewall-centos-rhel.html

译者:KayGuoWhu 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

所有系统管理员想要在他们生产服务器上首先要部署的安全手段之一,就是检测文件篡改的机制——不仅仅是文件内容,而且也包括它们的属性。

AIDE (“高级入侵检测环境”的简称)是一个开源的基于主机的入侵检测系统。AIDE通过检查大量文件属性的不一致性来检查系统二进制文件和基本配置文件的完整性,这些文件属性包括权限、文件类型、索引节点、链接数、链接名、用户、组、文件大小、块计数、修改时间、添加时间、创建时间、acl、SELinux安全上下文、xattrs,以及md5/sha校验值在内的各种特征。

AIDE通过扫描一台(未被篡改)的Linux服务器的文件系统来构建文件属性数据库,以后将服务器文件属性与数据库中的进行校对,然后在服务器运行时对被修改的索引了的文件发出警告。出于这个原因,AIDE必须在系统更新后或其配置文件进行合法修改后重新对受保护的文件做索引。

对于某些客户,他们可能会根据他们的安全策略在他们的服务器上强制安装某种入侵检测系统。但是,不管客户是否要求,系统管理员都应该部署一个入侵检测系统,这通常是一个很好的做法。

在 CentOS或RHEL 上安装AIDE

AIDE的初始安装(同时是首次运行)最好是在系统刚安装完后,并且没有任何服务暴露在互联网甚至局域网时。在这个早期阶段,我们可以将来自外部的一切闯入和破坏风险降到最低限度。事实上,这也是确保系统在AIDE构建其初始数据库时保持干净的唯一途径。(LCTT 译注:当然,如果你的安装源本身就存在安全隐患,则无法建立可信的数据记录)

出于上面的原因,在安装完系统后,我们可以执行下面的命令安装AIDE:

 # yum install aide 

我们需要将我们的机器从网络断开,并实施下面所述的一些基本配置任务。

配置AIDE

默认配置文件是/etc/aide.conf,该文件介绍了几个示例保护规则(如FIPSR,NORMAL,DIR,DATAONLY),各个规则后面跟着一个等号以及要检查的文件属性列表,或者某些预定义的规则(由+分隔)。你也可以使用此种格式自定义规则。

FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
NORMAL = FIPSR+sha512

例如,上面的例子说明,NORMAL规则将检查下列属性的不一致性:权限(p)、索引节点(i)、链接数(n)、用户(u)、组(g)、大小(s)、修改时间(m)、创建时间(c)、ACL(acl)、SELinux(selinux)、xattrs(xattr)、SHA256/SHA512校验和(sha256和sha512)。

定义的规则可灵活地用于不同的目录和文件(用正则表达式表示)。

条目之前的感叹号(!)告诉AIDE忽略子目录(或目录中的文件),对于这些可以另外定义规则。

在上面的例子中,PERMS是用于/etc机器子目录和文件的默认规则。然而,对于/etc中的备份文件(如/etc/.*~)则不应用任何规则,也没有规则用于/etc/mtab文件。对于/etc中的其它一些选定的子目录或文件,使用NORMAL规则替代默认规则PERMS。

定义并应用正确的规则到系统中正确的位置,是使用AIDE最难的一部分,但作一个好的判断是一个良好的开始。作为首要的一条规则,不要检查不必要的属性。例如,检查/var/log或/var/spool里头的文件的修改时间将导致大量误报,因为许多的应用程序和守护进程经常会写入内容到该位置,而这些内容都没有问题。此外,检查多个校验值可能会加强安全性,但随之而来的是AIDE的运行时间的增加。

可选的,如果你使用MAILTO变量指定电子邮件地址,就可以将检查结果发送到你的邮箱。将下面这一行放到/etc/aide.conf中的任何位置即可。

MAILTO=root@localhost

首次运行AIDE

运行以下命令来初始化AIDE数据库:

 # aide --init 

根据/etc/aide.conf生成的/var/lib/aide/aide.db.new.gz文件需要被重命名为/var/lib/aide/aide.db.gz,以便AIDE能读取它:

 # mv /var/lib/aide/aide.db.new.gz /var/lib/aide.db.gz 

现在,是时候来将我们的系统与数据库进行第一次校对了。任务很简单,只需运行:

 # aide 

在没有选项时,AIDE假定使用了--check选项。

如果在数据库创建后没有对系统做过任何修改,AIDE将会以OK信息来结束本次校对。

生产环境中管理AIDE

在构建了一个初始AIDE数据库后,作为不断进行的系统管理活动,你常常需要因为某些合法的理由更新受保护的服务器。每次服务器更新后,你必须重新构建AIDE数据库,以更新数据库内容。要完成该任务,请执行以下命令:

 # aide --update 

要使用AIDE保护生产系统,可能最好通过任务计划调用AIDE来周期性检查不一致性。例如,要让AIDE每天运行一次,并将结果发送到邮箱:

 # crontab -e 

0 0 * * * /usr/sbin/aide --check | /usr/bin/mail -s "AIDE run for $HOSTNAME" [email protected]

测试AIDE检查文件篡改

下面的测试环境将演示AIDE是如何来检查文件的完整性的。

测试环境 1

让我们添加一个新文件(如/etc/fake)。

# cat /dev/null > /etc/fake 

测试环境 2

让我们修改文件权限,然后看看它是否被检测到。

 # chmod 644 /etc/aide.conf 

测试环境 3

最后,让我们修改文件内容(如,添加一个注释行到/etc/aide.conf)。

echo "#This is a comment" >> /etc/aide.conf 

上面的截图中,第一栏显示了文件的属性,第二栏是AIDE数据库中的值,而第三栏是更新后的值。第三栏中空白部分表示该属性没有改动(如本例中的ACL)。

结尾

如果你曾经发现你自己有很好的理由确信系统被入侵了,但是第一眼又不能确定到底哪些东西被改动了,那么像AIDE这样一个基于主机的入侵检测系统就会很有帮助了,因为它可以帮助你很快识别出哪些东西被改动过,而不是通过猜测来浪费宝贵的时间。


via: http://xmodulo.com/host-intrusion-detection-system-centos.html

作者:Gabriel Cánepa 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

接纳你电脑上最有用的工具。

你应该在电影中见到过,尽管从没在自己电脑上调出来:一个空白屏幕,带有一些简单文字提示和一个光标,等着你去输入几个神秘的命令,就会听你的吩咐。

这就是命令行。它是基于字符的接口,它比现在人们都熟悉的主流操作系统(包括Windows到Mac OS X和Linux)上的窗口,图标和瓦片 tiles都要早。

命令行是一个使用你电脑基本功能的超级强大的工具。对于大多数人来说,它也是一个让人困惑的,难以理解的,看上去无关紧要的东西。但是其实不是这样的。

在你的命令控制下的电脑

输入字符指令再敲下回车来让电脑做点事情,和在移动设备的触摸界面上滑动点击比较,听起来像是退了一大步。即使是刚学走路的小孩都可以用iPad,对吧?不过,如果你知道怎么用的话,命令可以节省你的时间,减少烦恼。

如果你很认真想学习编程-或者想理解计算机技术-你完全有必要掌握命令行。

深入到命令行里,将教会你很多关于电脑如何工作以及管理信息的。你也许会发现有些平常使用鼠标操作的功能,当改为敲一两个命令后,实际上会更快。

更重要的是,你会更容易理解像Python那样的编程语言像Git那样的软件,需要有一点命令行基础。在熟悉了命令行以后,你就可以打破过去阻止你学习编程的障碍了。

所以在这里介绍一点关于命令行的快速的、基础的指导。它主要专注于Mac OS X的类Unix环境,只是因为这是我比较熟悉的。Linux用户应该已经很熟悉命令行了,不过新手也许还是会觉得这些小窍门有点用。如果你用的是Chromebook,Google对如何打开它自带的命令行工具已经给出了有用的指导,它和Mac或Linux系统有点类似。对于Windows用户,很不幸,受限于从MS-DOS衍生出的命令语言,它和Unix只有一点点交集,所以这篇指导对你没什么用;不过可以去看下dosprompt.info网站里的资料

如何开始

你需要做的第一件事是搞清楚如何进入命令行,通常这是通过一个叫“shell”的软件来做的。在任意一台运行OS X的Mac上,需要启动终端应用。你可以通过Finder来打开(它是在应用程序下的实用工具目录里),或者点击屏幕右上角的放大镜然后输入“terminal”,然后在下拉列表里选择。

你进来了,但是所有你看到的只是一个有输入空间的空白盒子。这就是命令行!让我们来更好地了解一下这个窗口。

输入pwd,它的意思是打印当前工作目录。在计算机语言里,“打印”什么和纸没一点关系。它实际上只是意味着吐点东西到屏幕上。这个命令运行的结果是让计算机返回你当前正处在的目录路径。(LCTT 译注,“打印”源于早期计算机的输出设备不是显示器,而是行式打印机,所以输出就是“打印”;在后期,有了显示器之后,在哑终端上操作远程主机时,输出才是“回显 echo”)

实际上,/Users/laurenorsini是我的主目录。高级提示:你可以使用波浪符(~)作为自己主目录的简写 - 它和/Users/你的用户名是一样的。比如,你可以像~/Downloads这样引用你的下载目录。(如果你仔细看前面的命令提示,你会发现那里有一个波浪符。这说明我当前正在自己的主目录下。)

我们肯定不希望我们的命令行试验把自己的主目录弄的一团糟,所以让我通过mkdir命令来创建一个新目录。这和在桌面操作系统里创建一个新目录是一样的。让我们把它叫做“experiments”:

现在我们有一个新目录了。如果使用图形界面的话,我们可以用自己的眼睛判断我们已经创建了一个新目录。当然,如果我打开Finder然后进入我的主目录(用一个小房子图标标记的)就会看到一个叫“experiments”的目录。我通过命令行实现的!(反过来:你可以在桌面系统里建立一个文件夹,然后在命令行下去查看。这只是同一套系统的两种不同表现方式。)

现在我需要通过cd(改变路径)命令改变路径进入到~/experiments目录中

我的命令提示是系统默认设定,所以它自动显示我当前的工作目录。但是如果你的看起来不一样的话,这样可以让你确定“experiments”是当前工作目录:再一次输入pwd。它应该会告诉你当前工作目录是“experiments”。

建立存档

在写代码的每一天里我都通过命令行创建和编辑文件。它比使用图形用户界面更快是因为我可以在编辑完后马上就在命令行里测试我的程序。如果我正好同时需要推送到GitHub的话,好吧,那就更方便了。

现在你有一个新目录(也可以叫做仓库或文件夹)在你电脑上用来折腾。让我们从创建一个包含“你好世界”这句话的文件开始吧。有很多种方式,在这里我用了echo命令。

哦不!我拼错“newfile”了。这经常会碰到。让我们用两个步骤来改正它。首先,我将创建一个拼写正确的文件...(LCTT 译注:完全不必创建新文件,直接 mv 即可,相当于改名。)

然后,我讲使用mv(移动)命令把拼写错误的就文件替换成我的新文件。通常都是这样,“mv 旧文件 新文件”。

关于mv要注意的:跟大多数命令一样,它是一个容易误导的强大命令。当我们“移动”newfil.txt到newfile.txt的时候,实际上会把第一个文件完全覆盖到第二个文件上。这样我写到newfile.txt里的内容将彻底消失,替换成我写到newfil.txt里的内容。

为了证明我的目录下只有一个文件,可以使用ls,清单命令,来获得目录下的所有文件清单。

看到了没?只有一个。然后如果我在图形界面下看下这个目录的话,也可以看到这个文件。

但是,它只是个空白文本文件(LCTT 译注,不是空白的,其内容是“Hello World”)。让我们用文本编辑器来输入点内容进去。在命令行下,我喜欢用nano编辑器,因为它很简单而且几乎在所有类型电脑上都可以使用。(LCTT 译注,作为 Linux 党,那肯定是要用 vi 的,不过 vi 对于初学者来说有一点点难。)

这会在你的命令行窗口中马上打开编辑屏幕。一些基本的命令都为你列出来了。

写下你想说的话,然后通过CTRL + X退出。在它问你是否保存的时候,当然键入"Y"。

你也许已经猜到了,也可以在操作系统中用鼠标找到newfile.txt文件看到这些改动。这里你可以用任意喜欢的文本编辑器打开编辑这个你创建的文件。

如果你想永远删除这个文件,可以用rm(移除)命令:

注意一下,rm命令非常强大!在黑客论坛里有个常用伎俩就是说服一个命令行新手输入rm -rf /,然后他就把自己整个电脑上的所有文件都删掉了。命令里的“/”意思是电脑的最高级根目录-所有一切都在它之下。千万不要输入那行命令!(LCTT 译注:希望你在看完这句话之前没有真的输入了 rm -rf / !!!)

延伸阅读

这只是无限可能的命令行的一个开始。你可以使用这个工具控制电脑的每一个方面,这也使得它强大的同时也很危险。保证在使用它们之前先看一下命令行提示,然后永远不要盲目输入任何陌生人推荐给你的语句。

我已经大概介绍了平时敲代码时常用的几个命令,但是有比这更多的理由去掌握命令行。如果你想更彻底地了解,也许可以试试:

命令行速成教程。一套免费的扩展课程,涵盖了命令行应用的基础。

命令行初学者启蒙。Lifehacker收藏的一些适合初学者的很有用的命令。

Mac OS X 命令行入门。在线教育网站Treehouse极尽详细地介绍了命令行的基础。

现在文章看完了,你就更容易理解我之前写的那些代码教程了,因为如果不敲几个命令根本没法完成。如果你准备好了,我建议你去看看ReadWrite的Git教程,它使用命令行来向你介绍协同编程。计算与你同在!

题图来自Jason Scott;其他屏幕截图由Lauren Orsini提供给ReadWrite


via: http://readwrite.com/2014/07/18/command-line-tutorial-intro

作者:Lauren Orsini 译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

传统桌面的粉丝现在可以欢呼了,Ubuntu MATE的第一个长期支持版本现在发布了,马上去下载吧!

这个社区产物使用基于 GNOME2 的MATE桌面环境,这个分支还继续着积极的开发和提升。Ubuntu MATE 14.04 LTS跟随着上月发布的Ubuntu 14.10一起发布了。

回顾补充

你大概会想我是不是打错了(我是Joey Sneddon,这大概可以肯定)。但这此是没错的,你看到的是对的。Ubuntu MATE团队决定追溯创建一个LTS版本。

Ubuntu MATE 14.04 LTS 确切地应该叫Ubuntu MATE 14.11 LTS。如项目领导者 Martin Wimpress 注明的:不只是因为他在11月份发布,还因为它混合了14.04和14.10的代码。

“该版本并不寻常,它虽然基于Ubuntu MATE 14.10 但是加入了很多新的特性,并且修复了很多bug。虽然这是一个14.04版本,但是你可以认为它是一个比14.10 更新的版本...”

如其他社区产物一样,Ubuntu MATE 14.04也将至少支持接下来的三年,但是应该同样会得到来自上游的严重安全更新。

与14.10相比的改变包括:

  • 更新了主题和壁纸
  • 增加了两个新的应用: MATE Menu 和 MATE Tweak
  • 改善辅助功能
  • VLC 代替了 Totem 视频播放器
  • 更新了几个 MATE 桌面包

下载

要知道更多细节,以及硬件需求和支持信息,可以在官方网站上找到,也可以点击下面的链接。


via: http://www.omgubuntu.co.uk/2014/11/ubuntu-mate-14-04-download-released

作者:Joey-Elijah Sneddon 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Quagga是一个开源路由软件套件,可以将Linux变成支持如RIP、OSPF、BGP和IS-IS等主要路由协议的路由器。它具有对IPv4和IPv6的完整支持,并支持路由/前缀过滤。Quagga可以是你生命中的救星,以防你的生产路由器一旦宕机,而你没有备用的设备而只能等待更换。通过适当的配置,Quagga甚至可以作为生产路由器。

本教程中,我们将连接假设之间具有专线连接的两个分支机构网络(例如,192.168.1.0/24和172.17.1.0/24)。

我们的CentOS位于所述专用链路的两端。两台主机名分别设置为“site-A-RTR”和“site-B-RTR'。下面是IP地址的详细信息。

  • Site-A: 192.168.1.0/24
  • Site-B: 172.16.1.0/24
  • 两个 Linux 路由器之间的对等网络: 10.10.10.0/30

Quagga包括了几个协同工作的守护进程。在本教程中,我们将重点建立以下守护进程。

  1. Zebra: 核心守护进程,负责内核接口和静态路由。
  2. Ospfd: IPv4 OSPF 守护进程。

在CentOS上安装Quagga

我们使用yum安装Quagga。

# yum install quagga 

在CentOS7,SELinux默认会阻止quagga将配置文件写到/usr/sbin/zebra。这个SELinux策略会干扰我们接下来要介绍的安装过程,所以我们要禁用此策略。对于这一点,无论是关闭SELinux(这里不推荐),还是如下启用“zebrawriteconfig”都可以。如果你使用的是CentOS 6的请跳过此步骤。

# setsebool -P zebra_write_config 1 

如果没有做这个修改,在我们尝试在Quagga命令行中保存配置的时候看到如下错误。

Can't open configuration file /etc/quagga/zebra.conf.OS1Uu5.

安装完Quagga后,我们要配置必要的对等IP地址,并更新OSPF设置。Quagga自带了一个命令行称为vtysh。vtysh里面用到的Quagga命令与主要的路由器厂商如思科和Juniper是相似的。

步骤 1: 配置 Zebra

我们首先创建Zebra配置文件,并启用Zebra守护进程。

# cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf
# service zebra start
# chkconfig zebra on 

启动vtysh命令行:

# vtysh 

首先,我们为Zebra配置日志文件。输入下面的命令进入vtysh的全局配置模式:

site-A-RTR# configure terminal

指定日志文件位置,接着退出模式:

site-A-RTR(config)# log file /var/log/quagga/quagga.log
site-A-RTR(config)# exit

永久保存配置:

site-A-RTR# write

接下来,我们要确定可用的接口并按需配置它们的IP地址。

site-A-RTR# show interface 

Interface eth0 is up, line protocol detection is disabled
. . . . .
Interface eth1 is up, line protocol detection is disabled
. . . . .

配置eth0参数:

site-A-RTR# configure terminal
site-A-RTR(config)# interface eth0
site-A-RTR(config-if)# ip address 10.10.10.1/30
site-A-RTR(config-if)# description to-site-B
site-A-RTR(config-if)# no shutdown 

继续配置eth1参数:

site-A-RTR(config)# interface eth1
site-A-RTR(config-if)# ip address 192.168.1.1/24
site-A-RTR(config-if)# description to-site-A-LAN
site-A-RTR(config-if)# no shutdown 

现在验证配置:

site-A-RTR(config-if)# do show interface 

Interface eth0 is up, line protocol detection is disabled
. . . . .
  inet 10.10.10.1/30 broadcast 10.10.10.3
. . . . .
Interface eth1 is up, line protocol detection is disabled
. . . . .
  inet 192.168.1.1/24 broadcast 192.168.1.255
. . . . .

site-A-RTR(config-if)# do show interface description 

Interface      Status  Protocol  Description
eth0           up      unknown   to-site-B
eth1           up      unknown   to-site-A-LAN

永久保存配置:

site-A-RTR(config-if)# do write

在site-B上重复上面配置IP地址的步骤。

如果一切顺利,你应该可以在site-A的服务器上ping通site-B上的对等IP地址10.10.10.2了。

注意:一旦Zebra的守护进程启动了,在vtysh命令行中的任何改变都会立即生效。因此没有必要在更改配置后重启Zebra守护进程。

步骤 2: 配置OSPF

我们首先创建OSPF配置文件,并启动OSPF守护进程:

# cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample /etc/quagga/ospfd.conf
# service ospfd start
# chkconfig ospfd on 

现在启动vtysh命令行来继续OSPF配置:

# vtysh

输入路由配置模式:

site-A-RTR# configure terminal
site-A-RTR(config)# router ospf

可选配置路由id:

site-A-RTR(config-router)# router-id 10.10.10.1

添加在OSPF中的网络:

site-A-RTR(config-router)# network 10.10.10.0/30 area 0
site-A-RTR(config-router)# network 192.168.1.0/24 area 0

永久保存配置:

site-A-RTR(config-router)# do write

在site-B上重复和上面相似的OSPF配置:

site-B-RTR(config-router)# network 10.10.10.0/30 area 0
site-B-RTR(config-router)# network 172.16.1.0/24 area 0
site-B-RTR(config-router)# do write 

OSPF的邻居现在应该启动了。只要ospfd在运行,通过vtysh的任何OSPF相关配置的改变都会立即生效而不必重启ospfd。

下一节,我们会验证我们的Quagga设置。

验证

1. 通过ping测试

首先你应该可以从site-A ping同site-B的LAN子网。确保你的防火墙没有阻止ping的流量。

[root@site-A-RTR ~]# ping 172.16.1.1 -c 2 

2. 检查路由表

必要的路由应该同时出现在内核与Quagga理由表中。

[root@site-A-RTR ~]# ip route 

10.10.10.0/30 dev eth0  proto kernel  scope link  src 10.10.10.1
172.16.1.0/30 via 10.10.10.2 dev eth0  proto zebra  metric 20
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.1

[root@site-A-RTR ~]# vtysh
site-A-RTR# show ip route 

Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
       I - ISIS, B - BGP, > - selected route, * - FIB route

O   10.10.10.0/30 [110/10] is directly connected, eth0, 00:14:29
C>* 10.10.10.0/30 is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
O>* 172.16.1.0/30 [110/20] via 10.10.10.2, eth0, 00:14:14
C>* 192.168.1.0/24 is directly connected, eth1

3. 验证OSPF邻居和路由

在vtysh命令行中,你可以检查必要的邻居是否在线与是否已经学习了合适的路由。

[root@site-A-RTR ~]# vtysh
site-A-RTR# show ip ospf neighbor 

本教程中,我们将重点放在使用Quagga配置基本的OSPF。在一般情况下,Quagga能让我们能够轻松在一台普通的Linux机器上配置动态路由协议,如OSPF、RIP或BGP。启用了Quagga的机器可以与你网络中的其他路由器进行通信和交换路由信息。由于它支持主要的开放标准的路由协议,它或许是许多情况下的首选。更重要的是,Quagga的命令行界面与主要路由器厂商如思科和Juniper几乎是相同的,这使得部署和维护Quagga机器变得非常容易。

希望这些对你们有帮助。


via: http://xmodulo.com/turn-centos-box-into-ospf-router-quagga.html

作者:Sarmed Rahman 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出