guagga ga 965p ds3支持cpupppoe么

博客访问: 369532
博文数量: 114
博客积分: 2033
博客等级: 大尉
技术积分: 1454
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
&&& Quagga是一款功能比较强大的开源路由软件,支持rip,ripng,ospfv2,ospfv3,bgp等协议。目前最新版本为。安装Quagga的目的是使装有linux(我采用的是Ubuntu10.04LTS)系统的电脑变成一台路由器,以便今后的实验。之所以选择Quagga是因为它的操作和Cisco的操作是比较相似的。今天用到的电脑需要多块网卡支持(至少两块)。
&安装Quagga
首先下载到硬盘,然后在终端输入
tar –zxvf quagga-0.99.17.tar.gz
#cd quagga-0.99.17
#./configure --enable-vtysh
--enable-user=root
--enable-group=root
--enable-vty-group=root
上述命令为打开vty功能(CLI功能)并给予相应用户权限,另有一些初始化配置见文档中.配置完成后会有一些信息表明quagga安装完成后相关文件所在位置。
编译与安装
#make install
因为Quagga需要libreadline支持,而我的电脑默认没有安装libreadline,所以需要执行
sudo apt-get install libreadline6-dev
& 配置Quagga
3.修改文件/etc/services,添加如下内容(某些版本Ubuntu已有,就不用添加了)
zebrasrv 2600/tcp # zebra service
zebra 2601/tcp # zebra vty
ripd 2602/tcp # RIPd vty
ripngd 2603/tcp # RIPngd vty
ospfd 2604/tcp # OSPFd vty
bgpd 2605/tcp # BGPd vty
ospf6d 2606/tcp # OSPF6d vty
ospfapi 2607/tcp # ospfapi
isid 2608/tcp # ISISd vty
quagga文件夹下/usr/local/etc有一个zebra.conf.sample文件,需建立一个zebra.conf文件并把zebra.conf.sample内容copy进去.
&& 启动Quagga
在终端输入zebra -d即可启动quagga。有可能出现以下错误:
zebra: error while loading shared libraries: libzebra.so.0: cannot open shared object file: No such file or directory
解决方法:
在/usr/local/lib下有
lrwxrwxrwx 1 root root 17
01:52 libzebra.so -> libzebra.so.0.0.0
lrwxrwxrwx 1 root root 17
01:52 libzebra.so.0 -> libzebra.so.0.0.0
-rwxr-xr-x 1 root root 0-06-21 01:52 libzebra.so.0.0.0
这可能是由于/lib库出现问题:则
root@ubuntu:/usr/local/lib# cp libzebra.* /lib
root@ubuntu:/usr/local/lib# rm libzebra.*
到目前为止,Quagga已经正常启动。电脑已经可以作为路由器使用,但是我们还没有对它作任何设置。这留到下次再说。
PS:已经有半个月没写东西了,这段时间太忙了,真对不起来踩我博客的朋友们。
另外,我因为推荐了75位朋友使用TK域名,本站TK域名变成收费域名了,期限为2年,这两年内不用担心无故被K了。
阅读(18810) | 评论(0) | 转发(3) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。Anycast DNS
Filed under
Attachments
Share this article
In a recently published article, Paul Vixie, past author and
architect of , one of the most popular internet domain
increased reliability and faster answers. The main argument against
unicast is that some resolvers may not be smart enough to select the
best server to query and therefore, they may select a server on the
other side of the planet. Since, you cannot go faster than light,
you get a penalty of about 100 milliseconds in this&case.
Unicast & anycast
Most addresses that you handle are unicast addresses, i.e. the
address of a single receiver. Any time you send a packet to an
unicast address, it will be forwarded to this single receiver. Another
common network addressing system is multicast (which happens to
include broadcast). When you send a packet to a multicast address,
several receivers may get it. The packet is copied as needed by some&nodes.
Anycast addresses allow you to send a packet to a set of receivers
but only one of them will receive it. The packet will not be
copied. Usually, the idea behind anycast is that the packet is sent
to the nearest&receiver.
There is no universal way to determine if an IP address is an unicast address or
an anycast address just by looking at it. For example 192.5.5.241 is
an anycast address while 78.47.78.132 is an unicast&address.
ISC, which maintains BIND, operates the “F” root domain server, one of
the 13 Internet . This server is
queried by using 192.5.5.241 IPv4 anycast address or
f::f IPv6 anycast address. ISC has published a
. Several nodes around
the globe announces the same subnet using BGP. When one router running
BGP has to send a query to the anycast address, it will have several
choices in its BGP table. It will usually select the shortest path and
route the query to the corresponding&router.
Some nodes may choose to restrict the announcement about the subnet
containing the anycast address. They are called local nodes (by
opposition to other global nodes). This allows them to serve query
only from their clients and use cheaper connectivity and&hardware.
Let’s play with anycast by setting up a lab to experiment with it. We
want to setup an IPv6 anycast DNS service using two global nodes, G1
and G2, and one local node, L1. We build some kind of
mini-Internet.&See:
Setting up the lab
This lab will use UML guests for all nodes. For more details on how
this works, look at my
first need to grab the&lab:
$ git clone /vincentbernat/network-lab.git
$ cd network-lab/lab-anycast-dns
You will need to install the dependencies needed by the script on your
host system. The script was tested on Debian unstable. If some of the
dependencies do not exist in your distribution, if they don’t behave
as in Debian or if you don’t want to install them on your host system,
you can use debootstrap to create a working&system:
$ sudo debootstrap sid ./sid-chroot http://ftp.debian.org/debian/
$ sudo chroot ./sid-chroot /bin/bash
# apt-get install iproute zsh aufs-tools
# apt-get install bird6
$ sudo mkdir -p ./sid-chroot/$HOME
$ sudo chown $(whoami) ./sid-chroot/$HOME
$ ROOT=./sid-chroot ./setup
We are running a lot of UML guests in this lab. We assign 64 MB to
each host. UML guests do not use host memory until they need it but
because of cache subsystem, you can expect that each guest will use 64
MB of memory. This means that you need about 2 GB of RAM to run this
lab. Moreover, each guest will create a file representing its
memory. Therefore, you need about 2 GB of free space in /tmp too.
Routers are named after their AS number. The router of AS 64652 is
just 64652. Paris, NewYork and Tokyo are the&exception.
The lab will use only one switch but we will use VLAN to create
several L2 networks. Each link in our schema is an L2 network. Each
link will get its own L3 network. Those networks are prefixed with
2001:db8:ffff:. Leaf AS have their own L3 network 2001:db8:X::/48
where X is the AS number minus 60000. Look at /etc/hosts on each
host to get the IP of all&hosts.
Mini-Internet routing
AS 64600 is some kind of Tier-1 transit network (like
). It has three points of presence:
Paris, New York and Tokyo. AS 64650 is an European regional transit
network, AS 64640 is an East Asian regional transit network and AS
6 and 64630 are North American regional transit network which are
peering each other. Other leaf AS are local ISP.
This is not really what Internet looks like but shaping our lab like a
tree allows us to not deal with a lot of BGP stuff: we ensure that the
shortest path (in number of BGP hops) from one client to one server is
the best path. Each BGP router will get a basic BGP configuration
containing only the list of peers. Since Paris, Tokyo and
NewYork are in the same AS, they will use iBGP. They are fully
meshed for this purpose but this does not provide redundancy because
iBGP routes are not redistributed inside iBGP. A more complex setup
would be needed to provide redundancy inside AS 64600. We don’t use an
IGP inside leaf AS as we should: for the sake of simplicity, we
redistribute directly connected routes into BGP.
While in my , I used Quagga, I will use
in this one. It is a more modern daemon with a clean
design on how routing tables may interact. It also performs
better. However, it lacks several features from Quagga. The
configuration for BIRD is autogenerated from /etc/hosts. We use only
one routing table inside BIRD. This table will be exported to the
kernel and to any BGP instance. Some directly connected routes will be
imported (those representing client networks) as well as all routes
from BGP instances. Here is an excerpt of 64610‘s&configuration:
protocol direct {
description &Client networks&;
import filter {
if net ~ [ 2001:db8:4600::/40{40,48} ] then accept;
export none;
protocol kernel {
import none;
export all;
protocol bgp {
description &BGP with peer NewYork&;
local as 64610;
neighbor 2001:db8:ffff:4600:4610::1 as 64600;
gateway direct;
hold time 30;
export all;
import all;
We do not export inter-router subnets to keep our routing tables
small. This also means that those IP addresses are not routable in
spite of the use of public IP addresses. Here is the routing table as
seen by 64610 (use birdc6 to connect to BIRD):
bird& show route
2001:db8:4622::/48 via 2001:db8:ffff:::2 on eth3 [bgp4 18:52] * (100) [AS64622i]
via 2001:db8:ffff:::1 on eth0 [bgp1 18:52] (100) [AS64622i]
2001:db8:4621::/48 via 2001:db8:ffff:::2 on eth3 [bgp4 18:52] * (100) [AS64621i]
via 2001:db8:ffff:::1 on eth0 [bgp1 18:52] (100) [AS64621i]
2001:db8:4612::/48 via 2001:db8:ffff:::2 on eth2 [bgp3 18:52] * (100) [AS64612i]
2001:db8:4611::/48 via 2001:db8:ffff:::2 on eth1 [bgp2 18:52] * (100) [AS64611i]
As you can notice, it knows several paths to the same network,
however, it only selects the best one (based on the length of the AS&path):
bird& show route 2001:db8:4622::/48 all
2001:db8:4622::/48 via 2001:db8:ffff:::2 on eth3 [bgp4 18:52] * (100) [AS64622i]
Type: BGP unicast univ
BGP.origin: IGP
BGP.as_path:
BGP.next_hop: 2001:db8:ffff:::2 fe80::e05f:a3ff:fef2:f4e0
BGP.local_pref: 100
via 2001:db8:ffff:::1 on eth0 [bgp1 18:52] (100) [AS64622i]
Type: BGP unicast univ
BGP.origin: IGP
BGP.as_path:
BGP.next_hop: 2001:db8:ffff:::1 fe80::3426:63ff:fe5e:afbd
BGP.local_pref: 100
Let’s check that everything works with traceroute6 on C1:
# traceroute6 G2.lab
traceroute to G2.lab (2001:db8:), 30 hops max, 80 byte packets
64652-eth1.lab (2001:db8:4652::1)
-338.277 ms
-338.449 ms
-338.502 ms
64650-eth2.lab (2001:db8:ffff:::1)
-338.324 ms
-338.363 ms
-338.384 ms
Paris-eth2.lab (2001:db8:ffff:::1)
-338.191 ms
-338.329 ms
-338.282 ms
NewYork-eth0.lab (2001:db8:ffff::0:2)
-338.144 ms
-338.182 ms
-338.235 ms
64610-eth0.lab (2001:db8:ffff:::2)
-338.078 ms
-337.958 ms
-337.944 ms
64612-eth0.lab (2001:db8:ffff:::2)
-337.778 ms
-338.103 ms
-338.041 ms
G2.lab (2001:db8:)
-338.001 ms
-338.045 ms
-338.080 ms
Let’s see what happens if we shut the link between NewYork and
64610. This link is VLAN 10. Since vde_switch does not allow us to
shut a port, we will change the VLAN of port 9 to VLAN 4093. After at
most 30 seconds, the BGP session between NewYork and 64610 will be
torn down and packets from C1 to G2 will take a new&path:
# traceroute6 G2.lab
traceroute to G2.lab (2001:db8:), 30 hops max, 80 byte packets
64652-eth1.lab (2001:db8:4652::1)
-338.382 ms
-338.499 ms
-338.503 ms
64650-eth2.lab (2001:db8:ffff:::1)
-338.284 ms
-338.317 ms
-338.151 ms
Paris-eth2.lab (2001:db8:ffff:::1)
-337.954 ms
-338.031 ms
-337.924 ms
NewYork-eth0.lab (2001:db8:ffff::0:2)
-337.655 ms
-337.751 ms
-337.844 ms
64620-eth0.lab (2001:db8:ffff:::2)
-337.762 ms
-337.507 ms
-337.611 ms
64610-eth3.lab (2001:db8:ffff:::1)
-337.531 ms
-338.024 ms
-337.998 ms
64612-eth0.lab (2001:db8:ffff:::2)
-337.860 ms
-337.931 ms
-337.992 ms
G2.lab (2001:db8:)
-337.863 ms
-337.768 ms
-337.808 ms
Setting up anycast DNS
Our anycast DNS service has three nodes. Two global ones, located in
Europe and North America and one local one targeted at customers of
AS 64620 only. The IP address of this anycast DNS server is
2001:db8:aaaa::53/48. We assign this address to G1, G2 and
L1. We also assign 2001:db8:aaaa::1/48 to 64651, 64612 and
64621. BIRD configuration is adapted to advertise this&network:
protocol direct {
description &Client networks&;
import filter {
if net ~ [ 2001:db8:4600::/40{40,48} ] then accept;
if net ~ [ 2001:db8:aaaa::/48 ] then accept;
export none;
as a name server. This is an authoritative only name
server. The configuration is pretty simple. We just ensure that it is
bound to the IPv6 anycast address (otherwise, it may answer with the
wrong address). The zone file is customized to answer the name of the&server:
#(C1) host -t
2001:db8:aaaa::53
Using domain server:
Name: 2001:db8:aaaa::53
Address: 2001:db8:aaaa::53#53
descriptive text &G1&
#(C5) host -t
2001:db8:aaaa::53
Using domain server:
Name: 2001:db8:aaaa::53
Address: 2001:db8:aaaa::53#53
descriptive text &G2&
If we try from C3, we may be redirected to L1 while we are not a
customer of AS 64620. A common way to handle this is to let 64621
tag the route with a special community that will let know 64620 that
the route should not be&exported.
protocol direct {
description &Client networks&;
import filter {
if net ~ [ 2001:db8:4600::/40{40,48} ] then accept;
if net ~ [ 2001:db8:aaaa::/48 ] then {
bgp_community.add((65535,65281));
export none;
The community used is known as the no-export community. BIRD knows
how to handle it. However, we hit here some limitations of BIRD:
The correct way to let 64622 knows about this route is to build
a BGP confederation for AS 64620 and let AS 64622 and AS 64621 be
part of it. This means that those three AS will be seen as AS 64200
from outside of the confederation. Moreover, the no-export
community would allow us to export the route only within the
confederation. This is exactly what we need but BIRD does not
support&confederations.
BIRD first selects the best route to export then apply
filtering. This means that even if 64620 knows non-filtered route
to 2001:db8:aaaa::/48, it will select the route to L1, filter it
out and export nothing to 64622.
Therefore, we need to fallback to ask BIRD to not export the route to
AS 6 and 64630 on 64620. We could use a special community
to filter out the route but we keep it simple and just filter the
route&directly.
filter keep_local_dns {
if net ~ [ 2001:db8:aaaa::/48 ] then reject;
protocol bgp {
description &BGP with peer NewYork&;
local as 64620;
neighbor 2001:db8:ffff:4600:4620::1 as 64600;
gateway direct;
hold time 30;
export filter keep_local_dns;
import all;
Voilà. Only C4 will be able to query L1. If AS 64621 is missing,
it will query G2 instead. One major point about anycast is to know
that redundancy is done at the AS level only. If the name server on
L1 does not work correctly, requests will still be routed to
it. Therefore, with anycast, you still need to provide redundancy
inside each AS (or stop advertising the anycast network as soon as
there is a&failure).
Beyond DNS
Anycast can be used to serve HTTP requests too. This is less commonly
used because your connection may be rerouted to another node while it
is still running. This is not a problem with DNS because there is no
connection (you send a query, you receive an answer). There are at
least two CDN ( and ) which uses
anycast to ensure low roundtrip time and very high&reliability.
Setting up an HTTP server with an anycast address is no different than
setting up a DNS server. However, you need to ensure maximum stability
of the routing path to avoid the connection to be dropped while
running. I suppose that this is done by hiring some high-level BGP
expert. You can also mix unicast and&anycast:
anycast DNS answers the IP address of a nearby unicast HTTP server,
anycast DNS answers the IP address of an anycast HTTP server that
will issue a redirect to an unicast HTTP server when downloading or
streaming large&files.
The comments on this website are powered by Disqus and require the use of JavaScript. If you're interested in reading the comments or leaving a comment behind please enable Javascript or try with a different browser.
Did you enjoy the article or do you have anything to add? Why not leave a
or read others' ones? The comment system is powered by Disqus and its use relies on
Other stuff
Powered by利用quagga实现动态路由 - 博客频道 - CSDN.NET
博客已迁至: http://jiya.io, 以后在这里写博文~
分类:〖林纳克斯〗
& & 版权声明:对于本博客所有原创文章,允许个人、教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者、出处及本声明。
& & 博客地址:
& & 原始作者:季亚
Step1 按照先前搭建的网络环境进行配置。
Step2 安装quagga软件包
首先查看Route1和Route2是否都装有quagga软件包。
由于Route1机器没有安装quagga软件包,但是又没有更新源,所以还要配置rhel更新源,详细操作参照本人博客其他博文。
[root@localhost ~]# yum install quagga
Failed to set locale, defaulting to C
Loading &downloadonly& plugin
Loading &protectbase& plugin
Loading &skip-broken& plugin
Loading &installonlyn& plugin
Loading &changelog& plugin
Loading &kmod& plugin
Loading &security& plugin
Cannot open logfile //var/log/yum.log
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
0 packages excluded due to repository protections
Parsing package install arguments
Resolving Dependencies
--& Populating transaction set with selected packages. Please wait.
---& Downloading header for quagga to pack into transaction set.
quagga-0.98.6-5.el5_5.2.i 100% |=========================|
---& Package quagga.i386 0:0.98.6-5.el5_5.2 set to be updated
--& Running transaction check
Dependencies Resolved
=============================================================================
Repository
=============================================================================
Installing:
0.98.6-5.el5_5.2
Transaction Summary
=============================================================================
1 Package(s)
0 Package(s)
0 Package(s)
Total download size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/1): quagga-0.98.6-5.el 100% |=========================| 1.1 MB
Running Transaction Test
warning: quagga-0.98.6-5.el5_5.2: Header V3 DSA signature: NOKEY, key ID e8562897
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: quagga
######################### [1/1]
Installed: quagga.i386 0:0.98.6-5.el5_5.2
[root@localhost ~]#
[root@localhost ~]# rpm -qa quagga
quagga-0.99.20-2.fc15.i686
[root@localhost ~]# 由此可见,Route2已经安装quagga软件包了,因此无需重复安装。
然后重新启动zebra,操作命令如下所示:
[root@localhost ~]# /etc/init.d/zebra restart
启动 zebra
[root@localhost ~]#
Step3 配置quagga
下面我们就开是配置了,配置过程中主要用到了两个文件/etc/quagga/zebra.conf和/etc/quagga/ripd.conf,其中zebra.conf可以增加静态路由,而ripd.conf则可以添加动态路由相关规则,本教程是参考鸟哥的Linux私房菜 服务器架设篇(第二版)进行整理的,大家可以参考本书P195-199页的内容。
我们先设置Route1,关于zebra.conf,进行如下设置:
[root@localhost ~]# vi /etc/quagga/zebra.conf
hostname localhost.route1
#给这个路由器随便设置一个主机名称
#设置一个密码
enable password
#使这个密码生效
log file zebra.log
#将所有zebra产生的信息保存到日志文件中
&/etc/quagga/zebra.conf& 10L, 291C written
[root@localhost ~]# /etc/init.d/zebra restart
关闭 zebra:[确定]
启动 zebra:can't open logfile zebra.log
[root@localhost ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address
Foreign Address
PID/Program name
0 127.0.0.1:2208
2170/hpiod
0 0.0.0.0:870
1960/rpc.statd
0 127.0.0.1:2601
6004/zebra
//请注意本行,2601是zebra的侦听端口
0 127.0.0.1:2602
0 0.0.0.0:111
1931/portmap
0 0.0.0.0:21
2255/vsftpd
0 127.0.0.1:631
2216/cupsd
0 127.0.0.1:25
2278/sendmail: acce
0 127.0.0.1:2207
2175/python
0 0.0.0.0:32768
2407/avahi-daemon:
0 0.0.0.0:520
0 0.0.0.0:864
1960/rpc.statd
0 0.0.0.0:867
1960/rpc.statd
0 0.0.0.0:5353
2407/avahi-daemon:
0 0.0.0.0:111
1931/portmap
0 0.0.0.0:631
2216/cupsd
0 192.168.2.254:123
0 192.168.1.250:123
0 127.0.0.1:123
0 0.0.0.0:123
0 :::32769
2407/avahi-daemon:
2407/avahi-daemon:
0 fe80::5278:4cff:fe4:123
0 fe80::211:5bff:fe22:123
[root@localhost ~]# 我们注意到,zebra它所监听的本地接口端口为2601,另外,我们在zebra.conf文件中设置用户的登录密码是有效的,可以让我们登录zebra这套软件。现在,我们来查一查2601号端口是否正确的启动:
事实上,我们还想要增加额外的静态路由,也可以通过zebra而不必使用route命令,详细内容请参考鸟哥的Linux私房菜 服务器架设篇(第二版)相关内容。
下面是Route1-&zebra.conf文件中的内容:
[root@localhost ~]# vi /etc/quagga/zebra.conf
hostname localhost.route1
enable password
log file zebra.log
下面是Route2-&zebra.conf文件中的内容:
[root@localhost ~]# vi /etc/quagga/zebra.conf
hostname localhost.route2
enable password
log file zebra.log
#ip route 192.168.1.0/24 192.168.2.254
#ip route 192.168.1.0/24 p2p1
Step4 设置ripd服务
ripd服务可以在两个router之间进行路由规则的交换与沟通,当然如果网络环境里有类似Cisco或者其他有提供RIP协议的路由器的话,当然也可以通过RIP让Linux Router与其他硬件路由器相互沟通,下面来设置ripd:
[root@localhost ~]# vi /etc/quagga/ripd.conf
hostname linux.route1
router rip
network 192.168.1.0/24
network 192.168.2.0/24
network 192.168.3.0/24
network eth0
network eth1
log stdout
[root@localhost ~]# vi /etc/quagga/ripd.conf
hostname linux.route2
router rip
network 192.168.2.0/24
network 192.168.3.0/24
network p1p1
network p2p1
log stdout
然后分别重启下ripd服务,操作命令如下所示:
[root@localhost ~]# /etc/init.d/ripd restart
关闭 ripd:[确定]
启动 ripd:[确定]
[root@localhost ~]# 这样,便完成了路由器的RIP动态路由协议的设置。
Step5 检查RIP协议的沟通结果(测试)
在Route1和Route2都设置妥当之后,可以登录zebra去看这两台主机的路由更新结果,操作命令如下。
[root@localhost ~]# telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Hello, this is Quagga (version 0.98.6).
Kunihiro Ishiguro, et al.
User Access Verification
localhost.route1& show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, & - selected route, * - FIB route
K&* 0.0.0.0/0 via 192.168.2.253, eth0
C&* 127.0.0.0/8 is directly connected, lo
K&* 169.254.0.0/16 is directly connected, eth1
C&* 192.168.1.0/24 is directly connected, eth1
C&* 192.168.2.0/24 is directly connected, eth0
localhost.route1&
[root@localhost ~]# telnet localhost 2601
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.20).
Kunihiro Ishiguro, et al.
User Access Verification
localhost.route2& show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, & - selected route, * - FIB route
K&* 0.0.0.0/0 via 210.28.164.254, em1
C&* 127.0.0.0/8 is directly connected, lo
R&* 192.168.1.0/24 [120/2] via 192.168.2.254, p2p1, 00:13:14
C&* 192.168.2.0/24 is directly connected, p2p1
C&* 192.168.3.0/24 is directly connected, p1p1
C&* 192.168.10.0/24 is directly connected, p1p1
C&* 210.28.164.0/24 is directly connected, em1
localhost.route2&
如此,看到上面的路由信息,就说明我们成功了!最左边的R代表通过RIP通信协议所设置的路由规则,这样,路由器的设置就搞定了。
备注:如果希望能够在A、B、C这三个网段能够上网,还需要其他的一些配置(只要和外网连的那台路由器做NAT网关就好了),详细内容请参考本人CSDN其他博文:
shuxiao9058
排名:第5913名
(3)(24)(7)(0)(7)(10)}

我要回帖

更多关于 ga78lmts2支持什么cpu 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信