Juniper SRX – част 6 GRE тунел

Juniper SRX – част 6 GRE тунел

В моята скромна практика често се налага да ползвам GRE тунели, в повечето случаи това е нуждата от свързаност на LAN мрежите между два или повече обекта в една фирма. В тази част ще покажа два сценария на конфигурация с GRE тунел.

GRE тунел с NAT

Да предположим, че сме в ситуация в която имаме нужда от достъп до определена мрежа без тя да има достъп до нас, подобен сценарии може да случи за връзка до свървър в отдалечен офис или дори втора резервна връзка Интернет. Ние трябва да ги виждаме а те нас не, това естествено звучи като NAT.

set interfaces gr-0/0/0 unit 0 tunnel source 93.155.130.38
set interfaces gr-0/0/0 unit 0 tunnel destination 93.155.131.165
set interfaces gr-0/0/0 unit 0 tunnel ttl 255
set interfaces gr-0/0/0 unit 0 family inet address 172.16.222.2/30
set interfaces gr-0/0/0 unit 0 family inet mtu 1476
set security zones security-zone untrust interfaces gr-0/0/0
set routing-options static route 192.168.122.0/24 next-hop 172.16.222.1

Мисля, че конфигурацията е достатъчно ясна: source е WAN IP адреса на моя рутер, destination е WAN IP на отдалечения а 172.16.222.2/30 е вътрешния IP адрес на GRE тунела от моя страна и 172.16.222.1/30 е същото на отдалечения рутер. Интерфейса gr-0/0/0 го добавяме в untrust зоната за да го приобщим към NAT и с последния ред рутираме мрежа 192.168.122.0/24 през 172.16.222.1 вътрешния IP адрес на GRE тунела на отдалечения рутер защото искаме достъп сървър с адрес 192.168.122.10 който се намира в другия офис. Нека направя една проверка работи ли всичко това.

Вдигнат GRE тунел в зоната untrust с IP адрес 172.16.222.2
Активен маршрут към мрежа 192.168.122.0/24 през 172.16.222.1
Проверка с ping и traceroute от моя лаптоп имам ли свързаност с 192.168.122.10

С ping и traceroute от моя лаптоп проверявам имам ли свързаност през GRE тунела. Тук е важно да обърнем внимания на маршрута (зелената област) пътя на пакета е 192.168.1.1 моят рутер (Juniper SRX) след което идва 172.16.122.1 вътрешния IP адрес на GRE тунела в отдалечения рутер и 192.168.122.10 сървъра който достъпвам в случая без проблем 🙂

GRE тунел с routing

Не малко са и случаите в които два отдалечени физически обекта на една фирма трябва да работят като един логически. Потребител 1 в офис А му трябва дотъп до файловия сървър в офис Б а потребител 2 в офис Б прави мониторинг на определени устройства в офис А. В този сценарии рутерите от двете страни трябва да рутират мрежата на другия.

set interfaces gr-0/0/0 unit 0 tunnel source 93.155.130.38
set interfaces gr-0/0/0 unit 0 tunnel destination 93.155.131.165
set interfaces gr-0/0/0 unit 0 tunnel ttl 255
set interfaces gr-0/0/0 unit 0 family inet address 172.16.222.2/30
set interfaces gr-0/0/0 unit 0 family inet mtu 1476
set routing-options static route 192.168.122.0/24 next-hop 172.16.222.1

set security zones security-zone gre host-inbound-traffic system-services all
set security zones security-zone gre host-inbound-traffic protocols all
set security zones security-zone gre interfaces gr-0/0/0

set security policies from-zone trust to-zone gre policy trust-to-gre match source-address any
set security policies from-zone trust to-zone gre policy trust-to-gre match destination-address any
set security policies from-zone trust to-zone gre policy trust-to-gre match application any
set security policies from-zone trust to-zone gre policy trust-to-gre then permit

set security policies from-zone gre to-zone trust policy gre-to-trust match source-address any
set security policies from-zone gre to-zone trust policy gre-to-trust match destination-address any
set security policies from-zone gre to-zone trust policy gre-to-trust match application any
set security policies from-zone gre to-zone trust policy gre-to-trust then permit

Тук нещата не са толкова прости както с NAT, защото и в двете посоки трафика трябва да е разрешен, тоест зоната untrust вече не ни върши работи, дори ни пречи защото спира пакетите към нас от отдалечения рутер. По тази причина създавам нова зона GRE в която описвам, че всички услуги и протоколи са разрешени и не на последно място добавям интерфейса gr-0/0/0. След което създавам две нови политики trust-to-gre и gre-to-trust в които разрешвам всякакъв трафик съотвено и в двете посоки.

Вдигнат GRE тунел в зоната gre с разрешен трафик от всичко

Зони, Политики и NAT

За да е по ясно нека проверим чрез рутера каква е конфигурацията в секция защита на рутера. Нека започнем със зоните:

Имаме три зони които ни интересуват: gre с интерфейс gr-0/0/0.0 връзката ни с отдалечения офис, trust с интерфейс vlan.0 локалната мрежа на моя рутер Juniper SRX в която се намирам аз и untrust интерфейса fe-0/0/0.0 от който получаваме достъп до Интернет. Тоест три зони асоциирани с три интерфейса с три различни пътища, казвам това за да добавя, че не е задължително една зона да има един интерфейс. Например, ако конфигурирам втори GRE тунел към друг отдалечен офис ще го добавя в зоната gre и т. н.

След това с политиките.

Тук е очевадно, че при политиките се описват посоките на трафика, от еди коя си зона до еди коя си зона какъв трафик е разрешен. В този случай във всички посоки трафика е разрешен освен от untrust към останалите две gre и trust защото от там идва WAN трафика на големия лош Интернет !!!

И завършим с NAT

Секцията NAT просто “натва” от trust към untrust, разбира се има много други варианти на NAT конфигурация в Juniper SRX но това е за съвсем друга дискусия.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.