Доброго времени суток!
На Cisco3825 было настроено 3 ISP + NAT и работало. Пришла пора добавить AS. BGP-соседство с 2 провайдерами настроено и работает. Не удаётся только настроить NAT для выхода пользователей LAN в Интернет.
Сам вопрос: как правильно настроить NAT для клиентов в связке BGP + NAT?
Исходные: есть 5 интерфейсов: gi0/1.1 - LAN, gi0/0.60 - ISP1(BGP), gi0/0.55 - ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
> Доброго времени суток!
> На Cisco3825 было настроено 3 ISP + NAT и работало. Пришла пора
> добавить AS. BGP-соседство с 2 провайдерами настроено и работает. Не удаётся
> только настроить NAT для выхода пользователей LAN в Интернет.
> Сам вопрос: как правильно настроить NAT для клиентов в связке BGP +
> NAT?
> Исходные: есть 5 интерфейсов: gi0/1.1 - LAN, gi0/0.60 - ISP1(BGP), gi0/0.55 -
> ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.
> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.правильно - не совмещать бордер и фаерволл
если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25, шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно вынести в тот же vrf и вперед.
>[оверквотинг удален]
>> только настроить NAT для выхода пользователей LAN в Интернет.
>> Сам вопрос: как правильно настроить NAT для клиентов в связке BGP +
>> NAT?
>> Исходные: есть 5 интерфейсов: gi0/1.1 - LAN, gi0/0.60 - ISP1(BGP), gi0/0.55 -
>> ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.
>> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
> правильно - не совмещать бордер и фаерволл
> если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25,
> шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно
> вынести в тот же vrf и вперед.Можете рассказать немного подробнее?
>[оверквотинг удален]
>>> Сам вопрос: как правильно настроить NAT для клиентов в связке BGP +
>>> NAT?
>>> Исходные: есть 5 интерфейсов: gi0/1.1 - LAN, gi0/0.60 - ISP1(BGP), gi0/0.55 -
>>> ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.
>>> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
>> правильно - не совмещать бордер и фаерволл
>> если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25,
>> шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно
>> вынести в тот же vrf и вперед.
> Можете рассказать немного подробнее?что подробнее ? Настраиваете vrf, настраиваете Gi0/0.25 с другим адресом из AS(0/0.25 и 0/1.1 помещаете в vrf), натитесь от него, в таблице маршрутизации пишете ip route vrf %name% 0/0 ip_Gi0/1.25
>[оверквотинг удален]
>>>> ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.
>>>> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
>>> правильно - не совмещать бордер и фаерволл
>>> если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25,
>>> шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно
>>> вынести в тот же vrf и вперед.
>> Можете рассказать немного подробнее?
> что подробнее ? Настраиваете vrf, настраиваете Gi0/0.25 с другим адресом из AS(0/0.25
> и 0/1.1 помещаете в vrf), натитесь от него, в таблице маршрутизации
> пишете ip route vrf %name% 0/0 ip_Gi0/1.25Спасибо. Буду пробовать.
>[оверквотинг удален]
>>>>> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
>>>> правильно - не совмещать бордер и фаерволл
>>>> если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25,
>>>> шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно
>>>> вынести в тот же vrf и вперед.
>>> Можете рассказать немного подробнее?
>> что подробнее ? Настраиваете vrf, настраиваете Gi0/0.25 с другим адресом из AS(0/0.25
>> и 0/1.1 помещаете в vrf), натитесь от него, в таблице маршрутизации
>> пишете ip route vrf %name% 0/0 ip_Gi0/1.25
> Спасибо. Буду пробовать.Что-то не получается у меня с vrf. Как только интефейс gi0/1.1 вывожу в vrf роутер перестаёт видеть сеть за ним(10.11.12.0/24), хотя sh ip route 10.11.12.1 показывает что сеть connected. Снаружи пингануть роутер по адресу его 10.11.12.120 удаётся.
Схему я собрал полностью как вы сказали, но трафик так и не ходит.
>[оверквотинг удален]
>>> Сам вопрос: как правильно настроить NAT для клиентов в связке BGP +
>>> NAT?
>>> Исходные: есть 5 интерфейсов: gi0/1.1 - LAN, gi0/0.60 - ISP1(BGP), gi0/0.55 -
>>> ISP2(BGP), gi0/0.77 - ISP3, gi0/1.25 - AS.
>>> Просьба рассказать как это делать правильно. Технические статьи пока не помогают.
>> правильно - не совмещать бордер и фаерволл
>> если по-другому никак, пользуйте vrf - понадобится еще один интерфейс, например Gi0/0.25,
>> шлюзом для него (в vrf) будет адрес интерфейса 0/1.25. Gi0/1.1 соответсвенно
>> вынести в тот же vrf и вперед.
> Можете рассказать немного подробнее?на вашем железе нужно создать 2 виртуальных маршрутизатора (две таблицы маршрутизации vrf) в одном у Вас должен быть бордер-роутер(который будет держать BGP) на втором у вас будет фаирвол(который будет заниматься NAT-ом) попробуйте такую схему реализовать в эмуляторе GNS3 я думаю что это можно сделать, потом попробовать конфиг выгрузить на живую железку.
> На Cisco3825 было настроено 3 ISP + NAT и работало. Пришла пора
> добавить AS.Непонятно - если раньше NAT работал, то что может поломать добавка BGP? Если было настроено нормально, то и теперь всё должно работать. Разве что натить уже надо в адреса из AS и всё.
>> На Cisco3825 было настроено 3 ISP + NAT и работало. Пришла пора
>> добавить AS.
> Непонятно - если раньше NAT работал, то что может поломать добавка BGP?
> Если было настроено нормально, то и теперь всё должно работать. Разве
> что натить уже надо в адреса из AS и всё.Как будете NAT-ить во внутреннии интерфейсы?
> Как будете NAT-ить во внутреннии интерфейсы?А тут был разговор про outside NAT? Тогда сорьки - лечить по фотографии не умею. ;) Без конкретики не поймёшь.
Когда-то тоже переходили со статики на BGP с провами - ничо так, сложностей в настройке не было.
>> На Cisco3825 было настроено 3 ISP + NAT и работало. Пришла пора
>> добавить AS.
> Непонятно - если раньше NAT работал, то что может поломать добавка BGP?
> Если было настроено нормально, то и теперь всё должно работать. Разве
> что натить уже надо в адреса из AS и всё.Так ведь AS бралась для провайдеро-независимости. Естественно и маршрутизация изменена для отправки и приёма пакетов через адреса AS.
int gi0/0.x
descr ISP1
ip nat outside
int gi0/0.y
descr ISP2
ip nat outside
int gi0/1.a
descr LAN
ip nat inside
!
ip nat pool poola a.a.a.a a.a.a.a prefix-length 24
ip nat inside source list nata poola overload
!
ip access-list extended nata
deny ip any 10.0.0.0 0.255.255.255
deny ip any 192.168.0.0 0.0.255.255
deny ip any 172.16.0.0 0.15.255.255
permit ip 10.0.0.0 0.255.255.255 any !или че там у тебя
!Важно: inspect и zone-based фаерволы могут не заработать, если обратные пакеты из-за кривизны интернета будут приходить через другого провайдера. Для этого нужно второй роутер.
>[оверквотинг удален]
> ip access-list extended nata
> deny ip any 10.0.0.0 0.255.255.255
> deny ip any 192.168.0.0 0.0.255.255
> deny ip any 172.16.0.0 0.15.255.255
> permit ip 10.0.0.0 0.255.255.255 any !или че там у тебя
> !
>
Вы предлагаете натить на роутере весь диапазон?
Мне нужно натить только пользователей идущих в Интернет на первом адресе диапазона. Остальные адреса будут организованы на DMZ.
Давай кое чего проясним:1. AS
a) Приватный номер
б) Глобальный номер
2. Блок адресов
a) PA, который анонсишь всем провайдерам
б) PI, который анонсишь всем провайдерам
в) что-то другое
В пуле ip nat pool можно указать один адрес. prefix-length должен быть не меньше чем 30, это просто косметическое, если поставишь меньше, он работать не будет, это багофича иоса.
>[оверквотинг удален]
> 1. AS
> a) Приватный номер
> б) Глобальный номер
> 2. Блок адресов
> a) PA, который анонсишь всем провайдерам
> б) PI, который анонсишь всем провайдерам
> в) что-то другое
> В пуле ip nat pool можно указать один адрес. prefix-length должен быть
> не меньше чем 30, это просто косметическое, если поставишь меньше, он
> работать не будет, это багофича иоса.Самое главное, в ip nat inside у тебя не должно быть интерфейсов, только пулы или адреса из твоего провайдеро-независимого диапазона.
т.е. если надо натить клиентские сети - через ip nat inside source list ... pool ..
если надо натить сервер, то ip nat inside source static ...
>[оверквотинг удален]
>> б) PI, который анонсишь всем провайдерам
>> в) что-то другое
>> В пуле ip nat pool можно указать один адрес. prefix-length должен быть
>> не меньше чем 30, это просто косметическое, если поставишь меньше, он
>> работать не будет, это багофича иоса.
> Самое главное, в ip nat inside у тебя не должно быть интерфейсов,
> только пулы или адреса из твоего провайдеро-независимого диапазона.
> т.е. если надо натить клиентские сети - через ip nat inside source
> list ... pool ..
> если надо натить сервер, то ip nat inside source static ...Интересно... Спасибо, буду пробовать.
>[оверквотинг удален]
>> б) PI, который анонсишь всем провайдерам
>> в) что-то другое
>> В пуле ip nat pool можно указать один адрес. prefix-length должен быть
>> не меньше чем 30, это просто косметическое, если поставишь меньше, он
>> работать не будет, это багофича иоса.
> Самое главное, в ip nat inside у тебя не должно быть интерфейсов,
> только пулы или адреса из твоего провайдеро-независимого диапазона.
> т.е. если надо натить клиентские сети - через ip nat inside source
> list ... pool ..
> если надо натить сервер, то ip nat inside source static ...Попробовал, не заработало у меня.
Добавил:
ip nat pool NATPOOL AS_IP_1 AS_IP_1 prefix-length 24
ip nat inside source list LAN_TO_INET pool NATPOOL overload
В acl LAN_TO_INET прописан permit ip для моей сети any
AS_IP_1 - первый адрес диапазона, он присвоен интерфейсу для DMZ.sh ip nat tr
показывает трансляции, но трафик не идёт... :(ShiLion, светлая голова, можешь идеей помочь, чего моей киске ещё не хватает?
> AS_IP_1 - первый адрес диапазона, он присвоен интерфейсу для DMZ.Звучит как минимум странно. Адрес из пула не должен быть никуда присвоен. Он как бы "в воздухе".
Давай конфиг. Только реальные IP заменяй на что нибудь типа 1.2.3.4, а то непонятно где реал, а где корп.
Вот мой конфиг, с "косметическими правками".
У меня 3 прова, ISP1 и ISP2 - соседи по BGP, третий пока "висит".
IP адреса моей AS 1.3.4...
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec localtime show-timezone
service password-encryption
!
hostname main-gw
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
!
aaa new-model
!
!
aaa group server radius MEDTEK
server-private 10.11.12.11 auth-port 1812 acct-port 1813 key 7 122D242533292D360B7A767B
!
aaa authentication login default local
aaa authentication ppp default group MEDTEK
aaa authorization exec default local
aaa authorization network pptp group MEDTEK
!
!
aaa session-id common
clock timezone NOVST 7
clock calendar-valid
!
dot11 syslog
ip source-route
ip cef
!
!
!
!
ip domain name xxxxx.ru
ip name-server 8.8.8.8
ip name-server 8.8.4.4
login on-failure log
login on-success log
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
vpdn enable
!
vpdn-group K_VPN
! Default PPTP VPDN group
accept-dialin
protocol pptp
virtual-template 1
ip mtu adjust
!
!
voice-card 0
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
username user privilege 15 secret 5 XxxxXXXXXXXXXXXXXXXXxxXXXXXXxXXXX
archive
log config
logging enable
notify syslog contenttype plaintext
hidekeys
path tftp://10.11.12.5/config/cisco/3825/$h
write-memory
!
!
!
!
!
ip ssh port 3215 rotary 1
ip ssh version 2
!
!
!
!
interface GigabitEthernet0/0
no ip address
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/0.20
description Link_for_AS_1.2.3.0/22
encapsulation dot1Q 20
ip address 1.2.3.162 255.255.255.252
no ip redirects
no ip proxy-arp
no cdp enable
!
interface GigabitEthernet0/0.25
description AS_DMZ
encapsulation dot1Q 25
ip address 1.3.4.1 255.255.255.0
ip access-group port22dis in
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat outside
ip virtual-reassembly
no cdp enable
!
interface GigabitEthernet0/0.55
description ISP1
encapsulation dot1Q 55
ip address 1.4.5.146 255.255.255.252 secondary
ip address 1.5.6.162 255.255.255.252
ip nat outside
ip virtual-reassembly
no cdp enable
!
interface GigabitEthernet0/0.60
description ISP2
encapsulation dot1Q 60
ip address 1.6.7.70 255.255.255.252
ip access-group port22dis in
no ip redirects
no ip unreachables
ip virtual-reassembly
no cdp enable
!
interface GigabitEthernet0/0.77
description ISP3
encapsulation dot1Q 77
ip address 1.7.8.147 255.255.255.0
ip access-group port22dis in
ip nat outside
ip virtual-reassembly
no cdp enable
!
interface GigabitEthernet0/1
no ip address
duplex auto
speed auto
media-type rj45
!
interface GigabitEthernet0/1.1
description LAN
encapsulation dot1Q 1 native
ip address 10.11.12.120 255.255.255.0
ip flow ingress
ip flow egress
ip nat inside
ip virtual-reassembly
!
interface Virtual-Template1
ip unnumbered GigabitEthernet0/0.25
peer default ip address pool VPN_POOL
ppp encrypt mppe auto required
ppp authentication ms-chap-v2
ppp authorization pptp
ppp eap refuse
ppp chap refuse
ppp pap refuse
ppp ipcp dns 10.11.12.20 8.8.8.8
!
router bgp 62036
bgp router-id 1.3.4.1
bgp log-neighbor-changes
neighbor 1.4.5.145 remote-as 35018
neighbor 1.4.5.145 description IPS1_fullview
neighbor 1.5.6.161 remote-as 35018
neighbor 1.5.6.161 description ISP1
neighbor 1.2.3.161 remote-as 43552
neighbor 1.2.3.161 description AS_freind
neighbor 1.6.7.69 remote-as 25549
neighbor 1.6.7.69 description ISP2_fullview
!
address-family ipv4
neighbor 1.4.5.145 activate
neighbor 1.4.5.145 next-hop-self
neighbor 1.4.5.145 soft-reconfiguration inbound
neighbor 1.4.5.145 prefix-list BGP_ADVERT out
neighbor 1.5.6.161 activate
neighbor 1.5.6.161 next-hop-self
neighbor 1.5.6.161 soft-reconfiguration inbound
neighbor 1.5.6.161 prefix-list BGP_ADVERT out
neighbor 1.2.3.161 activate
neighbor 1.2.3.161 next-hop-self
neighbor 1.2.3.161 soft-reconfiguration inbound
neighbor 1.2.3.161 prefix-list BGP_ADVERT out
neighbor 1.6.7.69 activate
neighbor 1.6.7.69 next-hop-self
neighbor 1.6.7.69 soft-reconfiguration inbound
neighbor 1.6.7.69 prefix-list BGP_ADVERT out
no auto-summary
no synchronization
network 1.3.4.0 mask 255.255.255.0
exit-address-family
!
ip local pool VPN_POOL 10.11.12.101 10.11.12.110
ip forward-protocol nd
ip route 1.3.4.0 255.255.255.0 Null0
ip route 172.16.0.0 255.240.0.0 Null0
ip route 192.168.0.0 255.255.0.0 Null0
no ip http server
no ip http secure-server
!
!
ip nat pool NATPOOL 1.3.4.1 1.3.4.1 prefix-length 24
ip nat inside source list LAN_TO_INET pool NATPOOL overload
!
ip access-list extended LAN_TO_INET
permit ip 10.11.12.0 0.0.0.255 any
ip access-list extended port22dis
deny tcp any host 1.3.4.1 eq 22
deny tcp any host 1.2.3.14 eq 22
deny tcp any host 1.4.5.146 eq 22
deny tcp any host 1.6.7.70 eq 22
deny tcp any host 1.7.8.147 eq 22
deny tcp any host 1.5.6.162 eq 22
permit ip any any
!
!
ip prefix-list BGP_ADVERT seq 10 permit 1.3.4.0/24
ip radius source-interface GigabitEthernet0/1.1
logging trap debugging
logging 10.11.12.127
access-list 101 permit icmp any any
access-list 101 deny ip any any
access-list 110 permit tcp any host 1.2.3.17
access-list 110 deny ip any host 1.2.3.17
!
!
!
!
!
control-plane
!
!
!
!
!
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
exec-timeout 20 0
privilege level 15
logging synchronous
rotary 1
transport input ssh
line vty 5 15
exec-timeout 5 0
privilege level 15
logging synchronous
rotary 1
transport input ssh
!
scheduler allocate 20000 1000
end
> Вот мой конфиг, с "косметическими правками".
> У меня 3 прова, ISP1 и ISP2 - соседи по BGP, третий
> пока "висит".
> IP адреса моей AS 1.3.4...
> interface GigabitEthernet0/0.20
> description Link_for_AS_1.2.3.0/22
> ip address 1.2.3.162 255.255.255.252
> !где ip nat outside ?
>[оверквотинг удален]
> ip address 1.3.4.1 255.255.255.0
> ip access-group port22dis in
> ip nat outside
> !
> interface GigabitEthernet0/0.55
> description ISP1
> ip address 1.4.5.146 255.255.255.252 secondary
> ip address 1.5.6.162 255.255.255.252
> ip nat outside
> !Зачем два адреса на линке и два соседа BGP из одной автономки??
> interface GigabitEthernet0/0.60
> description ISP2
> ip address 1.6.7.70 255.255.255.252
> ip access-group port22dis in
> no cdp enable
> !где ip nat outside ?
>[оверквотинг удален]
> neighbor 1.2.3.161 prefix-list BGP_ADVERT out
> neighbor 1.6.7.69 activate
> neighbor 1.6.7.69 next-hop-self
> neighbor 1.6.7.69 soft-reconfiguration inbound
> neighbor 1.6.7.69 prefix-list BGP_ADVERT out
> no auto-summary
> no synchronization
> network 1.3.4.0 mask 255.255.255.0
> exit-address-family
> !Про двух одинаковых соседей на одном интерфейсе не понял, зачем.
> ip route 1.3.4.0 255.255.255.0 Null0
> ip route 172.16.0.0 255.240.0.0 Null0
> ip route 192.168.0.0 255.255.0.0 Null0
> !
> ip nat pool NATPOOL 1.3.4.1 1.3.4.1 prefix-length 24Этот адрес занят интерфейсом! Возьми любой свободный, не попадающий на интерфейс или его подсеть.
> ip nat inside source list LAN_TO_INET pool NATPOOL overload
На gi0/0.20 ip nat outside нету потому что это линк чужой, дружественной AS. Там не нужно.
На gi0/0.60 - забыл сразу сделать, потом замылилось.
На gi0/0.55 - 2 соседа - провайдер так хочет. По одному даёт fullview, по другому только свои сети.
Или это глупость?
Я совсем не понимал какие адреса нужно писать в ip nat pool ......Спасибо за науку. Буду пробовать.
> На gi0/0.20 ip nat outside нету потому что это линк чужой, дружественной
> AS. Там не нужно.Там реальные IP или нет? Из локалки туда нужен доступ или нет?
> На gi0/0.60 - забыл сразу сделать, потом замылилось.
> На gi0/0.55 - 2 соседа - провайдер так хочет. По одному даёт
> fullview, по другому только свои сети.
> Или это глупость?А что, в FullView свои сети у него не входят? Бред какой-то, ей богу.
> Я совсем не понимал какие адреса нужно писать в ip nat pool
> ......Свои конечно же.
Допустим дали тебе сеть 1.2.3.0/24.
Выделяешь адресок под НАТ для простых пользователей, адресок для привелегированых, разным серверам - свой отдельный каждому.
Так проще фаерволить, проще отслеживать кто куда зачем пошел в инет, и т.д.Где надо аксес лист натить, там используешь пул. Где один в один, то просто адрес указываешь. Главное чтобы они не были ни на каком интерфейсе назначены.
> Спасибо за науку. Буду пробовать.Сам все время учусь.
>> Спасибо за науку. Буду пробовать.
> Сам все время учусь.Спасибо тебе огромное - у меня всё получилось.
Дело было всего лишь в том, что на одном из интерфейсов к провайдеру забыл указать ip nat outside.Дай бог тебе здоровья и помощи всяческой!)
>>> Спасибо за науку. Буду пробовать.
>> Сам все время учусь.
> Спасибо тебе огромное - у меня всё получилось.
> Дело было всего лишь в том, что на одном из интерфейсов к
> провайдеру забыл указать ip nat outside.
> Дай бог тебе здоровья и помощи всяческой!)Наздоровье
Если кому-то интересно, подобный вопрос был задан и в другой теме, там ответы есть -
http://www.opennet.me/openforum/vsluhforumID6/1295.html