Есть вот такая сеть:
Роутер С - это основной шлюз
Роутер D - резерв (на случай работ на первом) и он же пакетный фильтр для очистки трафика (DDos)
Задача состоит в том что бы анонс /32 префикса на роутере D переводил трафик этого адреса на себя, и по сути с входящим трафиком это работает на ура, а вот исходящий (что я только не делал) усердно ломится на роутер C
Сначало покажу конфиги роутеров
Роутер С (линк в сторону провайдера):
- Код: Выделить всё
eth0 Link encap:Ethernet HWaddr 00:19:5B:83:C7:5F
inet addr:62.149.4.62 Bcast:62.149.4.63 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:537558693 errors:0 dropped:0 overruns:0 frame:0
TX packets:647891043 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:108475311048 (101.0 GiB) TX bytes:477437422640 (444.6 GiB)
Interrupt:217 Base address:0x8000
Роутер С (линк в локалку):
- Код: Выделить всё
eth1 Link encap:Ethernet HWaddr 00:1D:7D:D2:D7:93
inet addr:178.170.233.1 Bcast:178.170.233.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:649361326 errors:0 dropped:0 overruns:0 frame:0
TX packets:538445833 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:477914213220 (445.0 GiB) TX bytes:106954010422 (99.6 GiB)
Interrupt:233 Base address:0x6000
eth1:1 Link encap:Ethernet HWaddr 00:1D:7D:D2:D7:93
inet addr:194.15.126.1 Bcast:194.15.126.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:233 Base address:0x6000
eth1:2 Link encap:Ethernet HWaddr 00:1D:7D:D2:D7:93
inet addr:194.15.127.1 Bcast:194.15.127.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:233 Base address:0x6000
Роутер С (BGP):
- Код: Выделить всё
router bgp 200
bgp router-id 62.149.4.62
!
network 178.170.233.0/24
network 194.15.126.0/23
!
neighbor 62.149.4.61 remote-as 100
neighbor 62.149.4.61 soft-reconfiguration inbound
neighbor 62.149.4.61 description ColoCall
neighbor 62.149.4.61 route-map DobryjHosting-Network out
neighbor 62.149.4.61 route-map DobryjHosting-Network-in in
!
neighbor 194.15.127.40 remote-as 200
neighbor 194.15.127.40 soft-reconfiguration inbound
neighbor 194.15.127.40 next-hop-self
neighbor 194.15.127.40 description DobryjHosting-gw-2
!neighbor 194.15.127.40 route-map DobryjHosting-gw-2-in in
!
access-list 1 remark Localhost only
access-list 1 permit 127.0.0.1
!
ip prefix-list DobryjHosting-AllNets permit 178.170.233.0/24
ip prefix-list DobryjHosting-AllNets permit 194.15.126.0/23
!
!ip prefix-list DobryjHosting-gw-2-in deny 0.0.0.0/32
!
route-map DobryjHosting-Network permit 10
match ip address prefix-list DobryjHosting-AllNets
!
route-map DobryjHosting-Network-in permit 10
!set local-preference 50
!
!route-map DobryjHosting-gw-2-in deny 10
!match ip address prefix-list DobryjHosting-gw-2-in
!
line vty
access-class 1
!
Роутер D(линк в сторону провайдера):
- Код: Выделить всё
eth1 Link encap:Ethernet HWaddr 00:21:91:D6:DA:A8
inet addr:62.149.4.50 Bcast:62.149.4.51 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:206307 errors:0 dropped:0 overruns:0 frame:0
TX packets:210458 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:44776342 (42.7 MiB) TX bytes:32635562 (31.1 MiB)
Interrupt:58 Base address:0x6000
Роутер D(линк в локалку):
- Код: Выделить всё
eth0 Link encap:Ethernet HWaddr 00:1C:C0:64:CB:03
inet addr:194.15.127.40 Bcast:194.15.127.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1876756 errors:0 dropped:0 overruns:0 frame:0
TX packets:8874 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:113079213 (107.8 MiB) TX bytes:1382065 (1.3 MiB)
Interrupt:50 Base address:0x4000
Роутер D (BGPD):
- Код: Выделить всё
router bgp 200
bgp router-id 62.149.4.50
!
network 178.170.233.0/24
network 194.15.126.0/23
!
network 194.15.127.4/32
!
!
neighbor 62.149.4.49 remote-as 100
neighbor 62.149.4.49 soft-reconfiguration inbound
neighbor 62.149.4.49 description ColoCall
neighbor 62.149.4.49 route-map DobryjHostingNetwork out
neighbor 62.149.4.49 route-map DobryjHosting-ddos-hole out
!
neighbor 194.15.127.1 remote-as 200
neighbor 194.15.127.1 soft-reconfiguration inbound
neighbor 194.15.127.1 next-hop-self
neighbor 194.15.127.1 description DobryjHosting-gw-1
neighbor 194.15.127.1 route-map DobryjHosting-gw-1-in in
neighbor 194.15.127.1 route-map DobryjHosting-ddos-hole-for-gw-1 out
!
access-list 1 remark Localhost only
access-list 1 permit 127.0.0.1
!
ip prefix-list DobryjHostingNetwork permit 178.170.233.0/24
ip prefix-list DobryjHostingNetwork permit 194.15.126.0/23
!
ip prefix-list DobryjHosting-ddos-hole permit 194.15.127.4/32
!
ip prefix-list DobryjHosting-gw-1-in permit 0.0.0.0/24
ip prefix-list DobryjHosting-gw-1-in permit 0.0.0.0/23
!
route-map DobryjHostingNetwork permit 10
match ip address prefix-list DobryjHostingNetwork
!
route-map DobryjHosting-ddos-hole permit 10
match ip address prefix-list DobryjHosting-ddos-hole
set as-path prepend 200
set weight 2000
set local-preference 200
!
route-map DobryjHosting-ddos-hole-for-gw-1 permit 10
match ip address prefix-list DobryjHosting-ddos-hole
!
route-map DobryjHosting-gw-1-in permit 10
match ip address prefix-list DobryjHosting-gw-1-in
!
line vty
access-class 1
!
Теперь продемонстрирую состояние сессий в обычном режиме и в режиме фильтрации
Роутер С (рабочий режим):
- Код: Выделить всё
gw1.dobrohost.net# sh ip bgp
BGP table version is 0, local router ID is 62.149.4.62
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 62.149.4.61 0 0 100 i
*> 178.170.233.0/24 0.0.0.0 0 32768 i
*> 194.15.126.0/23 0.0.0.0 0 32768 i
Total number of prefixes 3
gw1.dobrohost.net#
- Код: Выделить всё
[root@gw ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
62.149.4.60 0.0.0.0 255.255.255.252 U 0 0 0 eth0
178.170.233.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
194.15.126.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
194.15.127.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 62.149.4.61 0.0.0.0 UG 0 0 0 eth0
[root@gw ~]#
Роутер D (рабочий режим):
- Код: Выделить всё
gw2.dobrohost.net# sh ip bgp
BGP table version is 0, local router ID is 62.149.4.50
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 62.149.4.49 0 0 100 i
*> 178.170.233.0/24 0.0.0.0 0 32768 i
*> 194.15.126.0/23 0.0.0.0 0 32768 i
Total number of prefixes 3
gw2.dobrohost.net#
- Код: Выделить всё
[root@gw2 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
62.149.4.48 0.0.0.0 255.255.255.252 U 0 0 0 eth1
194.15.127.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 62.149.4.49 0.0.0.0 UG 0 0 0 eth1
[root@gw2 ~]#
а теперь смотрим состояние при включении режима фильтрации
Роутер С (режим фильтрации):
- Код: Выделить всё
gw1.dobrohost.net# sh ip bgp
BGP table version is 0, local router ID is 62.149.4.62
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 62.149.4.61 0 0 100 i
*> 178.170.233.0/24 0.0.0.0 0 32768 i
*> 194.15.126.0/23 0.0.0.0 0 32768 i
*>i194.15.127.4/32 194.15.127.40 0 100 0 i
Total number of prefixes 4
gw1.dobrohost.net#
- Код: Выделить всё
[root@gw ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
194.15.127.4 194.15.127.40 255.255.255.255 UGH 0 0 0 eth1
62.149.4.60 0.0.0.0 255.255.255.252 U 0 0 0 eth0
178.170.233.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
194.15.126.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
194.15.127.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 62.149.4.61 0.0.0.0 UG 0 0 0 eth0
[root@gw ~]#
Роутер D (режим фильтрации):
- Код: Выделить всё
gw2.dobrohost.net# sh ip bgp
BGP table version is 0, local router ID is 62.149.4.50
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 0.0.0.0 62.149.4.49 0 0 100 i
*> 178.170.233.0/24 0.0.0.0 0 32768 i
*> 194.15.126.0/23 0.0.0.0 0 32768 i
*> 194.15.127.4/32 0.0.0.0 0 32768 i
Total number of prefixes 4
gw2.dobrohost.net#
- Код: Выделить всё
[root@gw2 ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
62.149.4.48 0.0.0.0 255.255.255.252 U 0 0 0 eth1
194.15.127.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 62.149.4.49 0.0.0.0 UG 0 0 0 eth1
[root@gw2 ~]#
Напоследок пытаюсь пингонуть фильтрованный хост из локалки:
- Код: Выделить всё
nagios:~# ping -c5 194.15.127.4
PING 194.15.127.4 (194.15.127.4) 56(84) bytes of data.
64 bytes from 194.15.127.4: icmp_seq=1 ttl=64 time=3.78 ms
From 178.170.233.1: icmp_seq=2 Redirect Host(New nexthop: 194.15.127.40)
64 bytes from 194.15.127.4: icmp_seq=2 ttl=64 time=1.08 ms
From 178.170.233.1: icmp_seq=3 Redirect Host(New nexthop: 194.15.127.40)
64 bytes from 194.15.127.4: icmp_seq=3 ttl=64 time=1.19 ms
64 bytes from 194.15.127.4: icmp_seq=4 ttl=64 time=0.777 ms
64 bytes from 194.15.127.4: icmp_seq=5 ttl=64 time=0.494 ms
--- 194.15.127.4 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.494/1.467/3.786/1.185 ms
nagios:~#
Вобщем то такой вот грустный расклад получается и третьи сутки я с ним ничего не могу сделать, перепробовал уже практически всё что у Вас тут нашёл(((
Прошу помощи.