Vyatta in my office – Load balancing, access point, DHCP, QOS,routing, firewall and more …
Load balancing – Споделяне на Интернет от два или повече доставчика
Има един процент хора които твърдят, че Интернет и е жизненоважен и ако спре за 5 минути за тях идва края на света. В такива авариини случаи тези хора стават особенно нервни и страшни най вече по телефона а някои дори отправят директни заплахи към съпорта на доставчика все едно нарочно и е спрян достъпа. Истината е, че все пак такъв процент хора а в повечето случаи фирми има, макар тои да е много по малък от задклавиатурните бабаити които „чатат“ с комшииката или „геймат Це-Ес“ в локала.
Нека да споделя моя опит само в три случая в който Интернет е жизненоважен и е нужно решение като load balancing.
Наскоро бях в една фирма която се занимава със спедиция и ползва основно две приложения които са web базирани. На едното чрез GPS следят през google map къде се намират товарните и автомобили които се движат в Европа а другото е нещо като чат където си обменят информация с други такива фирми като тях. Още от птичи поглед е ясно, че на тази фирма като и спре достъпа до Интернет тя спира да работи.
Друг подобен случай е един голям хранителен магазин в който през деня отзад на рампата му идват постоянно автомобили които разтоварват стока и за да става бързо и да не чакат следващите са избегнали бумащината да плащат на място. Самото плащане става по банков път в 4:30 следобяд и сумите както се предполага хич не са малки. Самият магазин на няколко пъти има проблем с доставчиците си защото те не приемат факта, че не и е заплатено с причина ,че не е имало Интернет.
Аз лично съм много далече от хазарта но познавам хора които изглеждат нормални но онлайн залаганията са техния живот. Тези хора сякаш се изхранват с това но нямам представа как. Не искам дори за момент да си представя на такъв човек като му се срине достъпа до Интернет какво му е.
Разбира се има и други случаи на които може да се обърне внимание но посоката е ясна – как да реализираме решение в което да не пропада Интернет без ние дори да разберем, че е имало някакъв проблем ? И вместо да търсим шамани които да се молят да няма гръмотевици за да ни предпазят от сривове в мрежата или да се молим някой багерист да не скъса оптиката на доставчика ни просто трябва да намерим оптималният вариант. Мисля, че всеки човек който чете това и е стигнал до тук трябва да е наясно, че такова решение с един доставчик на Интернет не може да има защото никой досега не е успял да се пребори с природната стихия – гръмотевиците или физичния закон – скъсан кабел. Дори авариината група на доставчика да е с Ферари и да са по бързи от механиците на Макларън в F1 пак се изисква технологично време за отстраняване на повредата така, че точката от която започваме са два доставчика на Интернет без значение какви са те стига да не ползват една и съща преносна среда.
Като за начало първо се опитах да намеря хардуерно решение но се оказа, че единствения продукт който няма лоши отзиви за него е dual wan на Cisco но цената му е около 900 лева което за мен не е оправдано още повече, че типично в стила на Cisco има много ограничения и това не е пълнофункционален а един орязан рутер който освен load balancing май друго не може да прави. След това се ориентирах към Микротик движейки се по ръба на хардуера и софтуера с един routerboard но подводния камък тук също е голям. Оказа се, че в Микротик няма идеалното решение на load balancing а има няколко различни такива според изискванията на клиента http://itservice-bg.net/?p=230 В един случай имаме удвояване на скороста на канала но на всеки 10 минути route таблицата се flush което чупи ssh и ssl сесия а в друг когато има много клиенти просто ги разпреледя по равно и на двата канала но в този случай клиента зад рутера ползва винаги само единия канал. Ако пак се върнем на трите примера по горе който дадох само в първия можем да си позволим вариант с Микротик с флушване на таблицата но при другите два имаме имаме https и следене на връзките от сървъра и няма как един и същи човек да работи с банковата си сметка или да залага от две различни места в Интернет тоест Микротик не е решение защото не следи състоянието на връзките. За предпоследно се борих с един Debian и постигнах някакво решение но нещото което не ми стигаше е автоматизацията на задачата, не трябваше да пипа човек при срив и връзките на падналия доставчик да се пренасочват автоматично към другия както и въстановяване на конфигурацията в нормален режим.
Това което търсех го намерих във Vyatta и то толкова изпипано решение, че не мога да повярвам. За да направим елементарен анализ как работи системата ще показа кода само на модула load balancing
vyatta@home# show load-balancing
wan {
disable-source-nat
interface-health eth0 {
failure-count 5
nexthop 10.125.3.1
test 1 {
resp-time 5
target 93.155.131.1
type ping
}
}
interface-health tun1 {
failure-count 5
nexthop 192.168.188.1
test 1 {
resp-time 5
target 192.168.1.1
type ping
}
}
rule 5 {
destination {
address 93.155.130.0/23
}
exclude
inbound-interface eth1
}
rule 10 {
inbound-interface eth1
interface eth0 {
weight 1
}
interface tun1 {
weight 1
}
}
}
[edit]
Синтаксиса на Vyatta е много интуитивен и прилича много на Juniper но всъщност дистрибуцията е построена върху Debian и без поддръжка от създателите и е напълно безплатен софтуер. Ще обърна внимание само на основните неща.
disable-source-nat – Във Vyatta load balancing автоматично генерира NAT правила към доставчиците и с този ред аз изключвам това правило защото към втория доставчик tun1 това не ми е нужно а към първия ще си го създам отделно.
interface-health eth0 – Добавяне на eth0 към първия доставчик. От тук започва конструкцията която ще следи състоянието на интерфейса.
failure-count 5 – брояча на изгубени пакети, опцията е от 1 до 10. Опцията 5 всъщност значи, че ако имаме 5 поредни изгубени пакета Vyatta ще пренасочи целия трафик към другия работещ интерфейс.
nexthop 10.125.3.1 – Е рутера на първия доставчик тоест default gateway към него.
target 93.155.131.1 – Тук добавям ип адреса който искам да следя през този доставчик. 93.155.131.1 е адрес който съм рутирал през default gateway 10.125.3.1 на този доставчик като по този начин следя не дали му е паднал рутера а дали въобще има свързаност с Интернет през него.
type ping – типа с който ще следим рутнатия адрес през този доставчик.
resp-time 5 – е времето за което ще се провери паднал доставчик въстановил ли ни е достъпа до Интернет и ако е, ще се допускат нови връзки към него.
exclude – Е изключващо правило за порт мрежа и адрес в load balancing като така оставя маршрута да е само един който си е по подразбиране.
inbound-interface eth1 – Е интерфейса към локалната ни мрежа където се намират нашите клиенти.
interface eth0 – По този начин описваме интерфеисите към доставчиците ни, разбира се може да са повече от два.
weight 1 – Е съотношението на пакетите насочени към доставчиците и е с опция от 1 до 255. weight е тежеста кой доставчик да се използва повече и ако съотношението е 2:1 то доставчика с weight 2, ще има поток от данни 67% спрямо 33% на другия който е с weight 1.
Хубавото на всичко това е, че има и някакъв мониторинг:
vyatta@home# run show wan-load-balance
Interface: eth0
Status: active
Last Status Change: Mon Jan 24 01:00:01 2011
+Test: ping Target: 93.155.131.1
Last Interface Success: 0s
Last Interface Failure: n/a
# Interface Failure(s): 0
Interface: tun1
Status: active
Last Status Change: Mon Jan 24 01:00:01 2011
+Test: ping Target: 192.168.1.1
Last Interface Success: 0s
Last Interface Failure: 3m1s
# Interface Failure(s): 0
[edit]
От горното става ясно, че и двата доставчика са онлайн защото имаме знака + преди „Test: ping Target:“ ако е паднал ще е –. От „Last Interface Success: 0s“ виждаме, че на доставчика не е въстановявана връзката което ще рече, че не и падала а от „Last Interface Failure: 3m1s“ , че преди 3 минути и 1 секунда е имало изгубен пакет.
vyatta@home# run show wan-load-balance status
Chain WANLOADBALANCE_PRE (1 references)
pkts bytes target prot opt in out source destination
191 24848 ACCEPT all -- eth1 any anywhere 93.155.130.0/23
18455 1675K ISP_eth0 all -- eth1 any anywhere anywhere state NEW statistic mode random probability 0.500000
18683 1674K ISP_tun1 all -- eth1 any anywhere anywhere state NEW
857K 109M CONNMARK all -- eth1 any anywhere anywhere CONNMARK restore
[edit]
Тук виждаме как Vyatta следи връзките.
От анализа до тук ни става ясно, че Vyatta ни предлага най добрия вариант на load balancing защото следи състоянието на връзките, състоянието на доставчиците и автоматично без да има каквато и да е намеса от администратор балансира интернет достъпа.
Хардуер
Аз инсталирах Vyatta на стар компютър с Pentium III процесор, 128 MB RAM и 2GB HDD. Добавих PCI wi-fi карта, LAN карта и един usb swich. Всичкия този наличен хардуер изглежда така.
Инсталация и начин на работа
Тъй като Vyatta е live CD след като зареди се логваме с тривиалното:
user: vyatta
password: vyatta
А ако пожелаем да я инсталираме на хард диска си за да продължим да работим с нея трябва да изпълним:
install-system
след което ще последва съветник за инсталация.
При вече инсталирана система преди да започнем да работим с нея трябва да знаем няколко основни неща. За да влезем в режим “конфигурация на системата” трябва да изпълним configure в противен случай се намираме в обикновен bash terminal. set се използва за ъзпълняване на команди а delete за изтриване. След това трябва да се запознаем с commit който запазва текущата конфигурация и save който прави същото след рестарт. А за излизане от конфигурационен режим ползваме exit.
Конфигуриране на системата
Секция WAN – Интернет
Конфигуриране на WAN интерфейса eth0 (първия доставчик)
set interfaces ethernet eth0 address 10.125.3.2/24
set interfaces ethernet eth0 description WAN1
set interfaces ethernet eth0 mac '00:0C:42:54:F4:CB'
След като вкараме правилата за да влязат те в сила трябва да изпълним commit
А за да ги прегледаме можем да използваме командата show
vyatta@home# show interfaces ethernet eth0
address 10.125.3.2/24
description WAN1
hw-id 00:b0:d0:d7:88:74
mac 00:0C:42:54:F4:CB
[edit]
Вдигаме маршрут по подразбиране.
set protocols static route 0.0.0.0/0 next-hop 10.125.3.1
Конфигурираме нашите DNS сървъри
set system name-server 93.155.131.1
set system name-server 93.155.130.14
Конфигурираме име и времева зона на рутера
set system host-name home
set system time-zone Europe/Sofia
Вдигаме тунел за WAN2 втори интефейс към Интернет
set interfaces tunnel tun1 address 192.168.188.2/30
set interfaces tunnel tun1 description WAN2
set interfaces tunnel tun1 encapsulation ipip
set interfaces tunnel tun1 local-ip 10.125.3.2
set interfaces tunnel tun1 remote-ip 10.129.3.7
set interfaces tunnel tun1 ttl 255
Вдигаме маршрут по подразбиране и през tun1 (втория ни доставчик)
set protocols static route 0.0.0.0/0 next-hop 192.168.188.1
Конфигуриране на Load balancing
set load-balancing wan disable-source-nat
set load-balancing wan interface-health eth0 failure-count 5
set load-balancing wan interface-health eth0 nexthop 10.125.3.1
set load-balancing wan interface-health eth0 test 1 target 93.155.131.1
set load-balancing wan interface-health eth0 test 1 type ping
set load-balancing wan interface-health tun1 failure-count 5
set load-balancing wan interface-health tun1 nexthop 192.168.188.1
set load-balancing wan interface-health tun1 test 1 target 192.168.1.1
set load-balancing wan interface-health tun1 test 1 type ping
set load-balancing wan rule 4 destination address 212.233.128.0/17
set load-balancing wan rule 4 exclude
set load-balancing wan rule 4 inbound-interface eth1
set load-balancing wan rule 5 destination address 93.155.130.0/23
set load-balancing wan rule 5 exclude
set load-balancing wan rule 5 inbound-interface eth1
set load-balancing wan rule 10 inbound-interface br0
set load-balancing wan rule 10 interface eth0 weight 1
set load-balancing wan rule 10 interface tun1 weight 1
Тъи като в Load balancing сме задали 93.155.131.1 ип адрес за мониторинг чрез ping на първия доставчик и 192.168.1.1 за втория е редно да рутираме през target маршрутите по подразбиране.
set protocols static route 93.155.131.1 next-hop 10.125.3.1
set protocols static route 192.168.1.1 next-hop 192.168.188.1
В Load balancing също сме описали и мрежите 212.233.128.0/17 и 93.155.130.0/23 с опцията exclude. Това е така защото и двете мрежи са съседни на маршрутизатора на първия интерфейс eth0. След като тези мрежи са по близки през този марщрут ще бъде твърде нефунционално пакетите който изпращаме към тях да излизат и през другия интерфейс и да заобикалят половината Интернет за да се върнат при нас. След като сме ги изключили от Load balancing за да пращаме пакети за тези мрежи винаги през този интерфейс също трябва да ги рутираме през eth0.
set protocols static route 93.155.130.0/23 next-hop 10.125.3.1
set protocols static route 212.233.128.0/17 next-hop 10.125.3.1
Секция LAN – Локалната ни мрежа
За да свържем eth1 и wlan0 в един общ LAN за нашите потребители които се намират в локалната ни мрежа ще създадем bridge br0
set interfaces bridge br0 address 192.168.88.1/24
set interfaces bridge br0 description LAN
Добавяме eth1 в bridge
set interfaces ethernet eth1 bridge-group bridge br0
set interfaces ethernet eth1 description LAN
Добавяме waln0 в bridge и го конфигурираме за нашите нужди
set interfaces wireless wlan0 bridge-group bridge br0
set interfaces wireless wlan0 channel 2
set interfaces wireless wlan0 description LAN
set interfaces wireless wlan0 mode g
set interfaces wireless wlan0 security wpa mode wpa2
set interfaces wireless wlan0 security wpa passphrase 12345678
set interfaces wireless wlan0 ssid vyatta
set interfaces wireless wlan0 type access-point
Секция услуги
Конфигурираме NAT към локалната ни мрежа 192.168.88.0/24
set service nat rule 1 outbound-interface eth0
set service nat rule 1 outside-address address 10.125.3.2
set service nat rule 1 source address 192.168.88.0/24
set service nat rule 1 type source
А това е конфигурацията на DHCP сървъра. Тук изниква въпроса откъде разбрах кои са мак адресите на потребителите ? Vyatta има инструмент за това: run show dhcp leases който показва логове на клиенти получили автоматично ип адрес от DHCP сървъра. Правя всички адреси които виждам в локалната си мрежа статични за да мога после да и ограничавам скороста.
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 default-router 192.168.88.1
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 dns-server 208.67.222.222
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 dns-server 208.67.220.220
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 domain-name itservice-bg.net
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 lease 86400
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 start 192.168.88.2 stop 192.168.88.254
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping DELLD830 ip-address 192.168.88.130
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping DELLD830 mac-address 00:1c:23:95:39:08
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Desi-PC ip-address 192.168.88.134
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Desi-PC mac-address 00:21:63:09:c2:8e
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Eli-PC ip-address 192.168.88.129
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Eli-PC mac-address 00:26:9e:31:8b:29
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Malinka-PC ip-address 192.168.88.138
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Malinka-PC mac-address 00:21:00:00:de:bc
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Nelly-PC ip-address 192.168.88.137
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping Nelly-PC mac-address 00:1b:9e:12:3f:f1
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping sami ip-address 192.168.88.131
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping sami mac-address c4:46:19:a9:40:f1
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping teri ip-address 192.168.88.132
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping teri mac-address 94:0c:6d:80:fa:9e
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping winxp-75bf52102 ip-address 192.168.88.251
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping winxp-75bf52102 mac-address 00:50:fc:ef:d4:a2
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping yani ip-address 192.168.88.133
set service dhcp-server shared-network-name HOME subnet 192.168.88.0/24 static-mapping yani mac-address 00:1b:77:d6:db:3e
Тъй като искам MRTG да ми чертае графика през snmp от отдалечена машина прилагам следните правила.
set service snmp community public authorization ro
set service snmp community public client 93.155.130.14
set service snmp contact support@itservice-bg.net
set service snmp location Bulgaria
Стартиране на услугата SSH за отдалечено администриране на рутера.
set service ssh port 22
Макар и да не ни е нужно в случая ще активирам DNS маскиране.
set service dns forwarding cache-size 300
set service dns forwarding listen-on br0
Секция Firewall – Глобални правила
set firewall all-ping enable
set firewall conntrack-table-size 50000000
Секция Firewall – верига local
set firewall all-ping enable
set firewall conntrack-table-size 50000000Създаване на верига и подразбираща се политика drop – отхвърляне.
set firewall name eth0local default-action drop
Тъй като политиката ни е отхвърляне трябва да разрежим портове и услуги който ще използваме от вън.
set firewall name eth0local rule 1 action accept
set firewall name eth0local rule 1 destination port 22
set firewall name eth0local rule 1 protocol tcp
set firewall name eth0local rule 2 action accept
set firewall name eth0local rule 2 destination port 53
set firewall name eth0local rule 2 protocol udp
set firewall name eth0local rule 3 action accept
set firewall name eth0local rule 3 protocol icmp
Създавам access листа на адресите от който ще приемам пакети безусловно.
set firewall group address-group ACCESS-ADDRESS address 10.129.3.7
set firewall group address-group ACCESS-ADDRESS address 93.155.131.1
set firewall group address-group ACCESS-ADDRESS address 93.155.130.14
set firewall group address-group ACCESS-ADDRESS address 93.155.131.20
set firewall group address-group ACCESS-ADDRESS address 208.67.222.222
set firewall group address-group ACCESS-ADDRESS address 208.67.220.220
set firewall name eth0local rule 4 action accept
set firewall name eth0local rule 4 source group address-group ACCESS-ADDRESS
Създавам droped листа на адресите на които ще отхвърлям пакетите.
set firewall group address-group DROP-ADDRESS address 61.191.56.245
set firewall group address-group DROP-ADDRESS address 61.180.72.5
set firewall group address-group DROP-ADDRESS address 109.169.64.19
set firewall group address-group DROP-ADDRESS address 78.186.20.224
set firewall group address-group DROP-ADDRESS address 222.73.177.245
set firewall group address-group DROP-ADDRESS address 173.200.42.226
set firewall group address-group DROP-ADDRESS address 212.156.4.6
set firewall group address-group DROP-ADDRESS address 113.130.71.75
set firewall group address-group DROP-ADDRESS address 113.12.94.101
set firewall group address-group DROP-ADDRESS address 86.125.34.207
set firewall group address-group DROP-ADDRESS address 61.234.37.173
set firewall group address-group DROP-ADDRESS address 218.95.37.148
set firewall group address-group DROP-ADDRESS address 202.70.36.26
set firewall group address-group DROP-ADDRESS address 67.205.111.22
set firewall name eth0local rule 5 action drop
set firewall name eth0local rule 5 source group address-group DROP-ADDRESS
Въпреки, че сме задали правилата те не влизат в сила. Ще влязат когато ги асоциираме с интефейса. Важно е да се каже, че веригата „local“ е само за самата машина тоест рутера а за влизащи пакети по долу ще използваме „in“
set interfaces ethernet eth0 firewall in name eth0in
Секция Firewall – верига in
set firewall name eth0in default-action accept
set firewall name eth0in rule 1 action drop
set firewall name eth0in rule 1 protocol tcp
set firewall name eth0in rule 1 source port 137,138,139,445
set firewall name eth0in rule 2 action drop
set firewall name eth0in rule 2 protocol udp
set firewall name eth0in rule 2 source port 137,138,139,445
set interfaces ethernet eth0 firewall in name eth0in
Секция QOS – изходящ трафик
set traffic-policy limiter SHAPER-IN class 2 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 2 match DELLD830 ip source address 192.168.88.130/32
set traffic-policy limiter SHAPER-IN class 3 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 3 match Desi-PC ip source address 192.168.88.134/32
set traffic-policy limiter SHAPER-IN class 4 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 4 match Eli-PC ip source address 192.168.88.129/32
set traffic-policy limiter SHAPER-IN class 5 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 5 match teri ip source address 192.168.88.132/32
set traffic-policy limiter SHAPER-IN class 6 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 6 match yani ip source address 192.168.88.133/32
set traffic-policy limiter SHAPER-IN class 7 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 7 match Nelly-PC ip source address 192.168.88.137/32
set traffic-policy limiter SHAPER-IN class 8 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 8 match Malinka-PC ip source address 192.168.88.138/32
set traffic-policy limiter SHAPER-IN class 9 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 9 match winxp-75bf52102 ip source address 192.168.88.251/32
set traffic-policy limiter SHAPER-IN class 10 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 10 match sami ip source address 192.168.88.131/32
set firewall name eth0in default-action accept
set firewall name eth0in rule 1 action drop
set firewall name eth0in rule 1 protocol tcp
set firewall name eth0in rule 1 source port 137,138,139,445
set firewall name eth0in rule 2 action drop
set firewall name eth0in rule 2 protocol udp
set firewall name eth0in rule 2 source port 137,138,139,445set interfaces ethernet eth0 firewall in name eth0inset traffic-policy limiter SHAPER-IN class 2 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 2 match DELLD830 ip source address 192.168.88.130/32
set traffic-policy limiter SHAPER-IN class 3 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 3 match Desi-PC ip source address 192.168.88.134/32
set traffic-policy limiter SHAPER-IN class 4 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 4 match Eli-PC ip source address 192.168.88.129/32
set traffic-policy limiter SHAPER-IN class 5 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 5 match teri ip source address 192.168.88.132/32
set traffic-policy limiter SHAPER-IN class 6 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 6 match yani ip source address 192.168.88.133/32
set traffic-policy limiter SHAPER-IN class 7 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 7 match Nelly-PC ip source address 192.168.88.137/32
set traffic-policy limiter SHAPER-IN class 8 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 8 match Malinka-PC ip source address 192.168.88.138/32
set traffic-policy limiter SHAPER-IN class 9 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 9 match winxp-75bf52102 ip source address 192.168.88.251/32
set traffic-policy limiter SHAPER-IN class 10 bandwidth 4mbit
set traffic-policy limiter SHAPER-IN class 10 match sami ip source address 192.168.88.131/32За да влязат правилата на трафик контрола на веригата SHAPER-IN трябва да я закачим към интерфейса eth1
set interfaces ethernet eth1 traffic-policy in SHAPER-IN
Секция QOS – входящ трафик
set traffic-policy shaper SHAPER-OUT class 2 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 2 match DELLD830 ip destination address 192.168.88.130/32
set traffic-policy shaper SHAPER-OUT class 3 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 3 match Desi-PC ip destination address 192.168.88.134/32
set traffic-policy shaper SHAPER-OUT class 4 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 4 match Eli-PC ip destination address 192.168.88.129/32
set traffic-policy shaper SHAPER-OUT class 5 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 5 match teri ip destination address 192.168.88.132/32
set traffic-policy shaper SHAPER-OUT class 6 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 6 match yani ip destination address 192.168.88.133/32
set traffic-policy shaper SHAPER-OUT class 7 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 7 match Nelly-PC ip destination address 192.168.88.137/32
set traffic-policy shaper SHAPER-OUT class 8 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 8 match Malinka-PC ip destination address 192.168.88.138/32
set traffic-policy shaper SHAPER-OUT class 9 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 9 match winxp-75bf52102 ip destination address 192.168.88.251/32
set traffic-policy shaper SHAPER-OUT class 10 bandwidth 20mbit
set traffic-policy shaper SHAPER-OUT class 10 match sami ip destination address 192.168.88.131/32
set traffic-policy shaper SHAPER-OUT default bandwidth 10mbit
За да влязат правилата на трафик контрола на веригата SHAPER-OUT трябва да я закачим към интерфейса eth1
set interfaces ethernet eth1 traffic-policy out SHAPER-OUT
Секция Мониторинг
Преглед на мрежовите интерфейси
vyatta@home# run show interfaces
Interface IP Address State Link Description
br0 192.168.88.1/24 up up LAN
eth0 10.125.3.2/24 up up WAN1
eth1 - up up LAN
lo 127.0.0.1/8 up up
lo ::1/128 up up
tun1 192.168.188.2/30 up up WAN2
tunl0 - admin down down
wlan0 - up up LAN
[edit]
Преглед на маршрутната таблица
vyatta@home# run show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route
S>* 0.0.0.0/0 [1/0] via 10.125.3.1, eth0
C>* 10.125.3.0/24 is directly connected, eth0
C>* 127.0.0.0/8 is directly connected, lo
S>* 192.168.1.0/24 [1/0] via 192.168.188.1, tun1
C>* 192.168.88.0/24 is directly connected, br0
S>* 192.168.122.0/24 [1/0] via 192.168.188.1, tun1
C>* 192.168.188.0/30 is directly connected, tun1
S>* 212.233.129.250/32 [1/0] via 192.168.188.1, tun1
[edit]
Модел на процесора
vyatta@home# run show hardware cpu
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 996.731
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 mmx fxsr sse up
bogomips : 1993.46
clflush size : 32
cache_alignment : 32
address sizes : 36 bits physical, 32 bits virtual
power management:
[edit]
Веригите QOS на изходящия трафик
vyatta@home# run show incoming ethernet
eth1 input:
Class Action Received Dropped Overlimit Rate
10 limit 2165068 180 180 4000K
2 limit 3323 0 0 4000K
3 limit 0 0 0 4000K
4 limit 0 0 0 4000K
5 limit 1850441 0 0 4000K
6 limit 0 0 0 4000K
7 limit 7339 0 0 4000K
8 limit 0 0 0 4000K
9 limit 69090259 228 228 4000K
[edit]
Веригите QOS на входящия трафик
vyatta@home# run show queueing ethernet
eth1 Queueing:
Class Qos-Policy Sent Dropped Overlimit Rate Queued
root shaper 95484479 442 110981 0 0
2 fair-queue 3906 0 0 0 0
3 fair-queue 0 0 0 0 0
4 fair-queue 0 0 0 0 0
5 fair-queue 86627170 442 0 0 0
6 fair-queue 0 0 0 0 0
7 fair-queue 55804 0 0 0 0
8 fair-queue 0 0 0 0 0
9 fair-queue 8030823 0 0 0 0
10 fair-queue 759498 0 0 0 0
11 fair-queue 7224 0 0 0 0
[edit]
NAT
vyatta@home# run show nat translations
Pre-NAT Post-NAT Type Prot Timeout
192.168.88.131 10.125.3.2 snat tcp 431987
192.168.88.251 10.125.3.2 snat tcp 95
192.168.88.131 10.125.3.2 snat tcp 417707
192.168.88.131 10.125.3.2 snat udp 22
192.168.88.251 10.125.3.2 snat tcp 80
192.168.88.251 10.125.3.2 snat tcp 4
192.168.88.131:3474 10.125.3.2:1030 snat udp 1
192.168.88.131 10.125.3.2 snat tcp 431914
192.168.88.131:3474 10.125.3.2:1030 snat udp 18
192.168.88.251 10.125.3.2 snat tcp 89
192.168.88.251 10.125.3.2 snat tcp 22
192.168.88.251 10.125.3.2 snat tcp 30



