ڭ̦b
¦̭ͨL
A
L̤j\NObڭ̳Wʥ]ǻ觋PVC
ܩѪ[hiHϥ
route Ϊ̬O
netstat Ӭd\P]wC
nFAѪΦǡHzSӦpT{ѬO_TOH
Ѫ
pPe¦ͨ쪺A
C@DۤvѪA
]NOAznzLAۤvѪӶǻADʥ]U@ӸѾWYC
YǰeXhAӫʥ]NonzLU@ӸѾѪӶǰeFAɻPAۤvDѪNSYաI
ҥHApGWY@Ѿ]w~A.....ʥ]yVN|oͫܤjDC
ڭ̴NonzL
traceroute
ӹAѤ@UC router ʥ]yVoC
OKIAۤvDѪ쩳dzOHڭ̥HUoӸѪӻG
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 <== 1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo <== 2
0.0.0.0 192.168.1.2 0.0.0.0 UG 0 0 0 eth1 <== 3
|
Aڭ̱oDb Linux tΤUѪ
OѤpƦCjA
ҦpWѪAѬOѡy 192.168.1.0/24 --> 127.0.0.0/8 --> 0.0.0.0/0 (w]) zӱƦCC
ӷDʥ]ݭnǰeɡAN|d\WzTӸѳWhAѦpNӫʥ]ǰeXhC
A||ıo_ǡA|oXӸѩOHѪDnoXرpӳ]pG
- ̾ڤӦsbG
Ҧp 192.168.1.0/24 oӸѪsbOѩoDW֦ 192.168.1.11 o IP YI
]NOAADWXӺsbɡAӺN|sb@ӸѤ~C
ҥHAU@ADӺɡAҦp 192.168.1.11, 192.168.2.11 ɡAѦܤִN|G
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
.....HUٲ.....
|
- ʩιw](default route)G
AiHϥ route oӫOʪB~ѳ]wAҦpӹw] (0.0.0.0/0) NOB~ѡC
ϥ route oӫOɡA̭n@ӷOGyAҳWѥnOA˸m
(p eth0) IP iHq (broadcast) pz~C|ҨӻAHWzҨӬݡA
ڪҸ̭Ȧ 192.168.1.11 192.168.2.11 AڦpGQns 192.168.100.254 oӸѾɡA
UFG
[root@linux ~]# route add -net 192.168.100.0 \
> netmask 255.255.255.0 gw 192.168.100.254
SIOCADDRT: Network is unreachable
|
ݧaItδN|^SksӺA]ڭ̪P 192.168.100.0/24 ڥNSYI
pG 192.168.100.254 uObڭ̪sWAAӬOo˰G
[root@linux ~]# route add -net 192.168.100.0 \
> netmask 255.255.255.0 dev eth0
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.2 0.0.0.0 UG 0 0 0 eth1
|
o˧ADN| eth0 oӸ˸mhճs 192.168.100.254 FI
t~AWѿXIOӡyFlags G zFI] G
NϥΥ~˸m@ Gateway NIӨ Gateway (192.168.1.2) nbڭ̪wsbҤC
oiOܭnI ^_^
- ʺAG
FWoإiHϥΫOkӼW[ѳWh~A
٦@سzLѾPѾӥHFʺAѪҡA
LANݭnB~n䴩FAҦpG zebra (http://www.zebra.org/) CentOS W
Quagga (http://www.quagga.net/) oXӳnFI
ƹWAb Linux ѳWhOzL֤ߨӹFA
ҥHoǸѪWhOb֤ߥ\ऺڡI]NObOI ^_^
IP Alias
եγ~
ڭ̦b
Linux `ΫO̭L eth0:0 oӸ˸maH
oӸ˸miHb쥻 eth0 WX@ӵXӡAHڭ̭쥻d㦳h IP A
㦳h IP \NQ٬ IP Alias FCӳo eth0:0 ˸miHzL
ifconfig
ip oӫOӹFA
oӫOγ~½^he`\ŪAo̤AOgTڡI
Aγ\|ݰڡGyo IP Alias ԣγ~ڡHznDIo IP Alias ̤jγ~NOiHAΨӡyzI
OHڭ̴NӲ@LXӱ`γ~nFG
- եG
ΨӴթOH|ҨӻA{bϥ IP ɾBͫܦhaA
IP ɾq`ϥ WWW Ӵѳ]wCo IP ɾq`|@Өp IP YO
192.168.0.1 ϥΪ̶} WWW sCDӤFAAnpsWo IP ɾOH
KKIbʬJҤUAAiHQΡG
[root@linux ~]# ifconfig [device] [ IP ] netmask [netmask ip] [up|down]
[root@linux ~]# ifconfig eth0:0 192.168.0.100 netmask 255.255.255.0 up
|
ӫإߤ@ӵAo˴NiHߨsW IP ɾFC
- b@ӹ줤th IP G
t~ApGObɲ߯ZΪ̬OǮճ쪺ܡA
ѩ쥻D]w̦nnHKקApGnPǭ̤jaqҦqTɡA
NiHCӦPdzzL IP Alias ӳ]wP@쪺 IP A
pjaNiHbP@ӺqiUAȪդFAܤaI
- J]ƵLkѧhdG
pGAoDݭnshӺAӳ]ƫoLkѦw˧hdɡA
Aunjϥ IP Alias ӴѤPqsuAȤFI
LAAݭnDOG
Ҧ IP Alias OѹdӪA
ҥHnҰ eth0:0 ɡAeth0 nQҰʤ~Cӷ eth0 QA
ҥH eth0:n dNPɤ]QCoonAѤ~A_h``|dҰʪ˸mڡI
bѳWh]wA``ݭni@ǴաAo IP Alias NWγFC
רOǮճ쪺mҷI ^_^I
WADSݨDA_hijAnh IP ɡA̦nbPdWFA
pGAunϥ IP Alias ɡApb
}ɭԴNҰ IP alias
OH²檺kiHϥΡG
- zL /etc/rc.d/rc.localG
Nyifconfig eth0:n ....zOgJ /etc/rc.d/rc.local Ao˶}ɭԴNҰʳoӵA
LokӮzIANOϥy /etc/init.d/network restart
zOɡAӤiN|QC
- zL /etc/sysconfig/network-scripts/ifcfg-eth0:0G
|ҨӻAAiHzLUoӤkӫإߤ@ӵ˸m]wɮסG
[root@linux ~]# cd /etc/sysconfig/network-scripts
[root@linux network-scripts]# vi ifcfg-eth0:0
DEVICE=eth0:0 <==۷nI@wnPɦWۦP˸mNI
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
BROADCAST=192.168.0.255
[root@linux network-scripts]# ifup eth0:0
[root@linux network-scripts]# ifdown eth0:0
|
˸m]wɮפhѼƻAаѦsW Internet
@媺AbAԭzIϥγoӤkӦnBANOAϥΡy /etc/init.d/network restart zɡA
tΨ·|ϥΧA ifcfg-eth0:0 ɮפ]wȨӱҰʧAdIt~A
ifcfg-eth0:0 ONBOOT ]wȬAun ifcfg-eth0 oӹd]wɤA
ONBOOT yes ɡA}N|N eth0:n ҰC
zLo²檺kAANiHb}ɭԱҰʧAӨoh IP bP@idWFC
Ln`NOApGA eth0 Oϥ DHCP Өo IP ѼƪܡAѩ ifup /etc/init.d/network
o script {Xg觋AN|ɭP ifcfg-eth0:0 oӳ]wɤ|QϥΨI
ҥH
Aϥ DHCP Өo eth0 IP ɡAAunϥΤʤ觋
( ifconfig) ӳ]wA IP Alias FC
ƸѪD
ܦhBͥiೣ@ӥiRQkANOGy
ڥiiHQΨidA
QΨӬۦP쪺 IP ӼW[ڳoDyqzHƹWoO@ӥi檺סA
LnzL\h]wӹFAYzݨDܡAiHѦҺHjgo@gG
pGuOªH]wnid IP bP@ӺӤwAziNjSF
OHٰOoڭ̦bѪWh̭Lʥ]ǻDnO̾ڥDѪWhaI
pGAidɡA]G
- eth0 : 192.168.0.100
- eth1 : 192.168.0.200
AѳWh|OpOHzפW|ܦoˡG
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
|
]NOA
nǰe 192.168.0.0/24 ɡAu|zLĤ@Wh
A]NOzL eth1 ӶǥXhAӤެO eth0 ٬O eth1 iӪʥ]|zL eth1
Ӧ^Aoi|y@ǰDA
רO@Ǩ𪺳Wh譱Aܥi|oͤ@Y~A
p@ӡAڥSkFtšA]|W[yqĪGI
GOA٥ioͫʥ]ǻ~poIҥHAP@DW]wۦP쪺 IP ɡA
onSOdNAѳWhA@ӻA
ӳ]wP@qP IP bP@DWC
ҦpWרҴNO@ӤnܽdڡI
bP@ϰ̭iHzLs (broadcast) AѨ MAC P IP ѪRAMzL MAC MAC Ӷǰeƫʥ]A
bPYNonzLѾCOѾHLDn\OH
Uڭ̴NӲ@I
OѾ
JMDQnNƶǰe줣PɱozLѾAҥHաAѾDn\NOG
y
ʥ]zoI
]NOAѾ|Rӷݫʥ] IP YAXؼЪ IP AzLѾѪ
(routing table) Noӫʥ]VU@ӥؼ (next hop) ǰeCoNOѾ\C
Ѿ\iHpFOHثeؤkiHFG
- w\GҦp Cisco, IBM, 3Com qͲwѾAoǸѾOJ@~tΡA
iHtdP춡ʥ]ĶP\F
- n\GҦp Linux oӧ@~tΪ֤ߴNѫʥ]OC
ѾiHsPw]ơAåBiHĶܦhPʥ]榡Aq`....]KyڡI
boӳ`̭Aڭ̨èSnQoNNAȰQצbAӺY²檺Ѿ\G
sӤPCKKIoӥ\ Linux NiHFFI
NpPѪO Linux ֤ߥ\ҴѪAoʥ]O]O Linux ֤ߩҴѡA
pҰʳoӫʥ]OH²ڡAuno˰YiG
[root@linux ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
|
WoӰʧ@Nb} Linux ֤ߪʥ]OCAiHNWzOgJ /etc/rc.d/rc.local A
H Linux iHb}ɭԴNҰʫʥ]\A
]iHzLק /etc/sysctl.conf ӹF}Ұʫʥ]G
[root@linux ~]# vi /etc/sysctl.conf
# NUoӳ]wȭק勵TYiI
net.ipv4.ip_forward = 1
[root@linux ~]# sysctl -p <==ߨӳ]wͮ
|
sysctl oӫOOb֤ߤu@ɥΨӪק֤߰Ѽƪ@ӫOAh\iHѦ man sysctl dߡC
nháIunoӰʧ@AA Linux N㦳²檺Ѿ\FC
ӥѩ Linux ѾѪ]wkPAq`ѾWѪ觋NءG
- RAѡGH route oӫOӪ]wѪ֤ߥ\A]wȥunPҬ۲ŧYiC
LAA즳ܤƮɡAѾNons]wF
- ʺAѡGzL zebra n骺\AodzniHw˦b Linux ѾWA
ӳodzniHʺA쪺ܤơAӪק Linux ֤ߪѪTA
ALʥH route ӭקAѪTI
AѤFѾAUӧAiݭnAѨ줰O NAT (Network Address Translation, }Ķ) DA
NAT OԣH IP ɾNO²檺 NAT DաIKKAAѤFܡHSA NAT iHF IP ɪ\A
NAT NO@ӸѾA NAT ѾhF@ӡy IP ഫz\COH
- @ӻAѾ|ӺAzLѾ IP \ӺiH۷qʥ]C
pGӤ@O@ IP (public IP) @Op IP (private IP) OH
ѩp IP ઽP@ IP qѸTAɴNonB~y IP Ķz\FF
- Linux NAT DiHzLקʥ] IP YƤӷΥؼ IP AӦۨp IP
ʥ]iHন NAT D@ IP ANiHsW Internet I
ҥHA ѾݪOO Public P Private IP ɡA~ݭn NAT \I
NAT \ڭ̷|bɽͤΡAoӳ`Ƚͽפ@UѾӤwڡI ^_^
ɻݭnѾH
@ӻAqƶqpƤQp~OLѾAuݭnQ hub/switch 걵UqA
MzL@us Internet WYiCLApGOWLƦʳqj~ҡA
ѩL̪ҳq`ݭnҼ{pUpA]~ݭnѾ[]G
- uGuήįҶqG
b@ɤjӪPӼhn걵ҦqiIסAiHzLCӼӼh[]@ѾA
ñNCӼӼhѾ۳sAN²檺zUӼhF
~ApGUӼhQ[]ѾAӬOHu걵UӼh hub/switch ɡA
ѩP@쪺ƬOzLsӶǻAӤjӪY@qbsɡA
ҦqN|H^AzI|yjӤįDFҥH[]ѾNujA
NUo譱įF
- WPO@ƪҶqG
b\ŪL¦`AzN|oA
unuOsb@_AƳzLsɡAANiHzL
tcpdump OӺťʥ]ơA
åBHѨҥHApGAƥiݭnWߡA
Ϊ̬OYǭnƥnbq]HO@ɡAiHNǭnq@ӿWߪA
B~[]BѾsWqC
ѾNuO@ӳ]ơAnpϥκݬݱzҪWIWȬO|X@ήרҡC
Uڭ̥N[]@RAѪѾӪ@aI
RAѤѾ
]bQqҷAF@¾u@ιqOs~Ѿӳs InternetA
b٦@ӳݭnwWҡA]oWiOo˪pG

Ϥ@BRAѤѾ[cܷN
HWϪ[cӻAoaqDn C class AOO 192.168.0.0/24 192.168.10.0/24 A
𫟺 192.168.0.0/24 OΨӰ@usںΪAܩ 192.168.10.0/24
hOSΪCPC1 NO@uqA PC2 PC3, PC4 hOSu@ιqA
Linux Router hOoӯSΨӳs줽q쪺ѾCbo˪[cUA
ӯSʥ]N㦳¦O@FC
ѹϤ@A]o{AunO㦳Ѿ\] (Router A, Linux Router) |㦳ӥHWA
OΨӷqPAPɸӸѾ]|㦳@ӹw]ѰڡI ^_^I
t~AA٥iH[W@Ǩ𪺳nb Linux Router WA
HO@ PC2~PC4 qOI
b Router A AѩL㦳 Public P Private IP AҥHo Router n㦳 NAT \A
oӥӧڭ̦AСC骺INb Linux Router ӪNIbӥDUA
̦ntƨidA@i 192.168.0.100At@i 192.168.10.254 o IPC
o Linux Router ]w²檺nRIAiHo˰G
Linux Router
boDݭnidAbo̱NLwqG
- eth0: 192.168.10.254
- eth1: 192.168.0.100
p]wOHo˰NFG
1. Bz eth0
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.10.255
IPADDR=192.168.10.254
NETMASK=255.255.255.0
NETWORK=192.168.10.0
ONBOOT=yes
2. ABz eth1
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
GATEWAY=192.168.0.254 <==oӳ]wȫܭnI
ONBOOT=yes
3. Ұ IP
[root@linux ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
# WzOpGSDANL[J /etc/rc.d/rc.local hI
4. sҰʺAåB[
[root@linux ~]# /etc/init.d/network restart
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 eth1
|
²aIo˧A Linux Router N OK FoIUӫhO PC2 ӧ@dҡC
O@AH PC2 ҡG
קA PC2 O@ا@~tΡAAҳӬOo˪G
- IP: 192.168.10.20
- netmask: 255.255.255.0
- network: 192.168.10.0
- broadcast: 192.168.10.255
- gateway: 192.168.10.254
H Linux @~tάҡAåB PC2 Ȧ eth0 @idɡAL]wOo˪G
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.10.255
IPADDR=192.168.10.20
NETMASK=255.255.255.0
NETWORK=192.168.10.0
GATEWAY=192.168.10.254 <==oӳ]w̭nաI
ONBOOT=yes
[root@linux ~]# /etc/init.d/network restart
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.10.254 0.0.0.0 UG 0 0 0 eth0
|
Router A sWѳWhG
bo˪[cUAz PC2 wgiHsW Internet FIuLAʥ] Internet Ǧ^ӮɡA
ѩ Router A èSs 192.168.10.0/24
쪺ѳWhAҥHӫʥ]y|zIN·ФF
ҥHAA Router A nB~W[@WhAoWhOyNؼЬ 192.168.10.0/24
ʥ]ǰe 192.168.0.100 hBzzA] Router A Linux tήɡALӭnoˡG
[root@linux ~]# route add -net 192.168.10.0 netmask 255.255.255.0 \
> gw 192.168.0.100
[root@linux ~]# route -n
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 192.168.0.100 255.255.255.0 UG 0 0 0 eth0
# Aӷ|o{WYo@Whsb~I
|
p@ӡAA Router A Linux Router NiHqAåBiHǻ
192.168.10.0/24 oI
PC1 P PC2 q觋G
bϤ@AA|o{ PC1 nNw]ѳ]w 192.168.0.254 A
ҥH PC1 nP PC2 qɡAʥ]NѡG
PC1 --> Router A --> Linux Router --> PC2
LAbϤ@ڭ̪D PC1 P PC2 Pɱ Linux Router WI
ҥH PC1 iH[J@ѳWhAWw 192.168.10.0/24 ʥ]ؼЮɡA
LiHǨ Linux Router WYiAiHo˰G
[root@linux ~]# route add -net 192.168.10.0 netmask 255.255.255.0 \
> gw 192.168.0.100
|
̫un PC2 ϥ ping iHs PC1AP˪A PC1 ]iH ping PC2 ܡA
NܧA]wO OK աIKKIdwIӳzLo˪]w觋Az]iHo{@ơA
NOGy
ѬOVAAnAѥXhѻP^ӮɪWhzC
|ҨӻAbw]pU (Router A P PC1 SB~ѳ]w)Aʥ]OiH PC2
su PC1 AO PC1 oSѥiH^ PC2 ҥHWY~|nzb Router A
Ϊ̬O PC1 W]wB~ѳWhڡIo˻AAFaH ^_^
ҥHA Linux @@RAѪ Router ²aIHWרҨӻAAb Linux Router
WXGS@B~u@AunN IP PnҰʡAM[W IP Forward \A
A Linux ֤ߤ䴩ʥ]AMLu@̪ Linux kernel NDAdwFI
uOn²I ^_^
Lo̥nOApGA Linux Router ]w𪺸ܡA
ӥB٦]w NAT D IP ˧NAioSOdNA]٥i|yѻ~PD
Wz Linux Router yèSϥΨ NAT \zISOLdNI
ʺAѤѾ]wGzebra
peҭzAtκziHQ route oӫOʪNѳWh[J֤߷AoӤ觋٬RAѡC
ʺAѦPˬONѳWh[J֤߷AuOoӥ[Jʧ@ѳnA (daemon) ۰ʨӰA
b Linux W`ѪAȴNO zebra oӮMҴѪC
ʺAѳq`OΦbѾPѾqAҥHnzѾ㦳ʺAѪ\A
AnAѨѾWҴѪʺAѨw~Ao˨ⳡѾ~zLӨwӷqѳWhC
ثe`ʺAѨwGRIPv1, RIPv2, OSPF, BGP A
zebra 䴩oǸѨwI
b CentOS WYAڭ̨ϥ quagga oӮMӴ zebra A] quagga Os zebra ӨӪA
ƹWAAiHA quagga NO zebra աIw˥LG
[root@linux ~]# yum install quagga
[root@linux ~]# ls -l /etc/quagga
-rw-r--r-- 1 root root 410 Jun 2 02:38 ripd.conf.sample
-rw-r----- 1 quagga quagga 30 Aug 29 10:50 zebra.conf
-rw-r--r-- 1 root root 373 Jun 2 02:38 zebra.conf.sample
.....Lٲ.....
|
oӮMҴѪUʺAѨwm /etc/quagga/ ؿAUڭ̥H²檺 RIPv2 wӳBzʺAѡA
LAon`NOAקAnҰʤʺAѨwA zebra nҰʤ~I
oO]G
- zebra o daemon \bs֤ߪѳWhF
- RIP o daemon hObVL Router qոѳWhǰeP_C
ӦUӸѪAȪ]wɳnH /etc/quagga/*.conf ɦWxs~ApWڭ̥iHo{ zebra
oӪAȬO]wnFAL ripd ɦWoO .conf CҥHڭ̥nB~@dz]w~C
Ӱ]ڭ̪spUϤGҥܡG

ϤGBʺAѪ²ϥ
oⳡ Linux Router OtdPABiHzL 192.168.0.0/24 oӺӷqC
bS]wB~ѳWhpUA PC1 P PC2 OLkqIt~A
zebra nPɦw˦bⳡ Linux Router WY~A
ӥBڭ̥un]wnoⳡD (eth0, eth1)
AݭnʿJB~ѳ]wIiHzL RIP oӸѨwӷdwI
]w zebra
ڭ̥]wϤGk䨺@ Linux RouterA zebra.conf AiHo˳]wG
1. ]w zebra åBҰ zebra
[root@linux ~]# vi /etc/quagga/zebra.conf
hostname linux.router1 <==oӸѾ@ӥDW١AHKI
password linux1 <==@ӱKXI
enable password iinux1 <==NoӱKXͮġI
log file zebra.log <==NҦ zebra ͪTsnɤ
[root@linux ~]# /etc/init.d/zebra start
[root@linux ~]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2601 0.0.0.0:* LISTEN 6422/zebra
|
JӬݡAѩ zebra oӪAȪȥDnObק Linux tή֤ߤѡA
ҥHLȺťӤwAä|ť~~It~Ab zebra.conf oɮA
ڭ̩ҳ]wӱKXO@ΪIiHڭ̵nJ zebra oMnOI
nFAڭ̨Ӭd@do 2601 port O_TҰʪOH
[root@linux ~]# telnet localhost 2601
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Hello, this is Quagga (version 0.98.3).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password: <==bo̿JA]wKXڡI
linux.router1> <==boJy ? zNDh֫Oiϥ
echo Echo a message back to the vty
enable Turn on privileged mode command
exit Exit current mode and down to previous mode
help Description of the interactive help system
list Print command list
quit Exit current mode and down to previous mode
show Show running system information
terminal Set terminal line parameters
who Display who is on vty
linux.router1> list
echo .MESSAGE
enable
exit
help
list
quit
show debugging zebra
show history
show interface [IFNAME]
show ip forwarding
show ip route
....Lٲ....
linux.router1> 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.0.254, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 192.168.0.0/24 is directly connected, eth0
C>* 192.168.10.0/24 is directly connected, eth1
linux.router1> exit
Connection closed by foreign host.
|
JӬݨAڭ̵nJo zebra n𫗪AiHJyhelpzΰݸy?zA zebra
N|ܥXA檺OǡA`ΪMOd߸ѳWhoI
Hy show ip route zӬd\AGiHo{ثePw]ѳQܥXӤFA
ܪGA
K NH router oӫO[J֤ߪѳWhAC
hNAѳWhC
ƹWApGAٷQnW[B~RAѪܡA]iHzL zebra Ӥϥ route OOI
ҦpQnW[ 10.0.0.0/24 eth0 ӳBzܡAiHo˰G
[root@linux ~]# vi /etc/quagga/zebra.conf
# sWUo@I
ip route 10.0.0.0/24 eth0
[root@linux ~]# /etc/init.d/zebra restart
[root@linux ~]# telnet localhost 2601
User Access Verification
Password: <==o̿JKX
linux.router1> 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.0.254, eth0
S>* 10.0.0.0/24 [1/0] is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 192.168.0.0/24 is directly connected, eth0
C>* 192.168.10.0/24 is directly connected, eth1
|
KKIߨN|hX@ѪWhAӥB̥k| SAYORA (Static route) NC
p@ӡAڭ̨tκziNPhFI
]w zebra AUӧڭ̥iH}lݬ ripd oӪAoI
]w ripd A
ripd oӪAȥiHbⳡ Router iѳWh洫PqA
MաApGAҸ̭ Cisco Ϊ̬OL RIP wѾܡA
AM]OiHzLo RIP z Linux Router PLwѾ۷qoI
ܤֻAӳ]w ripd aI
[root@linux ~]# vi /etc/quagga/ripd.conf
hostname linux.router1 <==o̬O]w Router DW٦Ӥw
password linux1 <==]wnAۤvKXI
router rip <==Ұ Router rip \
network 192.168.0.0/24 <==woӺӶiťʧ@I
network eth0 <==woӤӶiťʧ@
network 192.168.10.0/24 <==woӺӶiťʧ@I
network eth1 <==woӤӶiťʧ@
version 2 <==ҰʪO RIPv2 A
log stdout <==bùXзǿX
[root@linux ~]# /etc/init.d/ripd start
[root@linux ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:2602 0.0.0.0:* LISTEN 21373/ripd
|
WAo˴N]w@Ѿ RIP ʺAѨwFIbWY ripd.conf ]wA
L|DʥH eth0 192.168.0.0/24 oӺ쪺\ӶijAp@ӡAӧAiѳWhܰʡA
Ϊ̬OӺ쪺D IP iʡAANݭnsC Router WʡI
]oǸѾ|۰ʪsL̦ۤvWhIKKIUӡAP˪ʧ@ЧA
ϤG䨺 Linux Router W]w@UI
]ӳ]wy{@ˡAҥHo̳NٲաI
ˬd RIP wqG
bⳡ Linux Router ]wAAiHnJ zebra hݳoⳡDѧsGI
|ҨӻAnJ
ϤGk䨺 Linux Router AåBnJ zebra A
[ѷ|Oo˪pG
[root@linux ~]# telnet localhost 2601
User Access Verification
Password: <==nѰOFKXڡI
linux.router1> show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, > - selected route, * - FIB route
K>* 0.0.0.0/0 via 192.168.0.254, eth0
C>* 127.0.0.0/8 is directly connected, lo
C>* 192.168.0.0/24 is directly connected, eth0
R>* 192.168.5.0/24 [120/2] via 192.168.0.200, eth0, 00:06:48
C>* 192.168.10.0/24 is directly connected, eth1
|
pGAݨWzrAKKINO\աIӳ̥䪺 R NOzL RIP qTwҳ]wѳWhաI
p@ӡA̪Ѿ]wNdwo
zLo zebra H RIPv2 ѨwUAڭ̥iHPNNѳWhɨϺLѾWYA
_¨ϥ route hק Linux ֤߸ѪAoӰʧ@MnֳtܦhI
LApGOܤpҡAnϥγo zebra ڡI]Ih@|PıC
pGz~үujA@o zebra tX@ǰʺAѨwAKKI]Oi檺աI
pGA@}l]pҴNOP@ C class AҦp 192.168.10.0/24 A
Ӧ]YǦ]nNYǥDhҤAҦp
Ϥ@ PC2 ~ PC4 C
MS]YǦ]AҥHAܧ PC2 ~ PC4 IP A]NOAIUo˪ϥܡG

ϤTBѾOP@쪺Sp
즸ݨ체֭nUӭI|䪺DbP@Ӻ줺HӥBٳQWw IP ]wA
.....uO@YӤjڡp@ӡAb Linux Router nps@ѰڡHnDIuOnD
] OSI ĤThhѬO@@h]w諸AҥHpGdWOP@Ӻ쪺 IP ɡA
N|oͿ~CpBzڡH
JM OSI ĤThLkѨMAi_HĤGhƳshӳBzHݭٰOo OSI ĤGh̭nNO ARP wA
LiHΨӶi IP P MAC CѹϤTڭ̪D PC1 nP PC2 DqɡAݭnzL Linux Router A
SkzL ARP iӺ줺qAnǰe PC2~PC4 ʥ]ݭngL Linux Router OH
InQkCAiHo˷QG

ϥ|BѾOP@쪺Sp
]NOG
- Linux Router eth1 ӺDQns PC2~PC4 DɡA Linux Router tdF
- Linux Router nǰeƨ PC2~PC4 ɡAȥn eth0 ӶǰeF
- Linux Router nǰeƬ 192.168.10.0/24 AëD PC2~PC4 ɡAݥ eth1 ǰeF
- Linux Router eth0 ӺDQns PC1 ɡA Lniux Router tdC
nF (1) P (4) nDäAڭ̥iHzL ARP Proxy oNAԣO ARP Proxy OHNOb Linux Router
WwWwy
N 192.168.10.20, 192.168.10.30, 192.168.10.40 oT IP
MAC Linux Router WIzѩOϰA]OzLs觋F ARP wһݭn
IP P MAC AҥHաAC@b eth1 ݪD|y~PzT IP O Linux Router Ҿ֦A
o˴Nʥ]ǵ Linux Router աI
AUӡA̪ Linux Router nB~wѡA]wG
- YؼЬO PC2 ~ PC4 ɡAӸѥn eth0 oeXh~A
- YؼФ PC2 ~ PC4 ABؼЦb 192.168.10.0/24 ɡAݥ eth0 oeXh~C
]NOAAnwѳWhA PC2~PC4 㦳uvAMLPʥ]~ eth1 ӶǰeC
o˴NFڭ̩ҷQnաI^_^IݼˤlGA]w譱ٮ²檺AAiHzL arp
H route oӫOӹFI
1. ]w ARP Proxy Ai eth1 Ҧb IP P MAC
[root@linux ~]# arp -i eth1 -s 192.168.10.20 00:11:12:13:14:15 pub
[root@linux ~]# arp -i eth1 -s 192.168.10.30 00:11:12:13:14:15 pub
[root@linux ~]# arp -i eth1 -s 192.168.10.40 00:11:12:13:14:15 pub
# ݹϥ|Aڳo̰] eth1 MAC O 00:11:12:13:14:15 աI
[root@linux ~]# arp -i eth0 -s 192.168.10.50 00:01:02:03:04:05 pub
# ݹϥ|Aڳo̰] eth0 MAC O 00:01:02:03:04:05 աI
[root@linux ~]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.10.20 * * MP eth1
192.168.10.30 * * MP eth1
192.168.10.40 * * MP eth1
192.168.10.50 * * MP eth0
# @IT IP ܦݩͪ eth1 աIM@ݩ eth0
2. }lBzѡAݭnM eth0 ѡAåBW[ PC2~PC4
[root@linux ~]# route del -net 192.168.10.0 netmask 255.255.255.0 eth0
[root@linux ~]# route add -host 192.168.10.20 eth0
[root@linux ~]# route add -host 192.168.10.30 eth0
[root@linux ~]# route add -host 192.168.10.40 eth0
# o˴N]wաINAѳWnoI
[root@linux ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.20 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.10.30 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.10.40 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
# ݨWo@AMڪdOb 192.168.10.0/24 A
# LuwӺǰeAȦ eth1 @NI
|
@Ioˤ@ӡAA PC1 NiH ping PC2~PC4 DFIƪǿW]SDC
oӧ@kO۷UoIw][cQʪҨӻC ^_^I
LAѳoӮרҧA]iHMDA
णsuPѪY~jI
ӸѬOVAAnҶqoӫʥ]p^ӪDI
- аݱzpNz eth0 oӤק令 192.168.100.2 b 192.168.100.0/25
ѼƤeH
] 192.168.100.0/25 netmask 255.255.255.128 AҥHiHo˰G
ifconfig eth0 192.168.100.2 netmask 255.255.255.128 up
o˧YiIpG|LѼơAhݭnHɮקΦӤUFAp vi /etc/sysconfig/network-scripts/ifcfg-eth0AíקאּG
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.2
NETMASK=255.255.255.128
NETWORK=192.168.100.0
BROADCAST=192.168.100.127
- Фʳ]w eth0:1 oӵAϦѼơG 192.168.200.2, b 192.168.200.0/24C
ifconfig eth0:1 192.168.200.2 up
- p[ѪH
route -n Yid\I`N 0.0.0.0 ӥؼ(default gateway)C
- pҰ Linux IP Forward \H
Hyecho "1" > /proc/sys/net/ipv4/ip_forward zYiI
- ]zO@ӾǮճ쪺TzAǮդ 200 qA^WjYNAnN
200 q 4 Subnet AаݱzӦpGu(еeXܷN)Hӳo 4
Subnet ѼƦp(Цۦ)HӬO_ݭn Router HpGݭnܡA]C
Router ȯӺ馉AӦpGuH(Gnϥε)
- ]AQns 168.95.1.1 AAӦpP_AgLyh֭ӡz`IH
iHϥ traceroute 168.95.1.1 ӤRCӸ`IǰeTA]iHzL ping 168.95.1.1
Ҧ^Ǫ ttl ȧP_`IƶqC
- U@zIyAo{iOWYӸ`IX{DAzӦpT{O@ Router XDH
NQ traceroute aI