Iptables -A output -p UDP -m state --state new,related,established -j accept

9,10 жол - Кіріс және шығыс ICMP-пакеттеріне рұқсат ету (көбінесе ping)
11 жол – Орнатылған байланыстағы tcp-пакеттерінің өту іне рұқсат ету
12 жол - tcp-байланыстағы орнатылған пакеттердің өтуіне және жаңа tcp-байланыстағы пакеттер үшін рұқсат ету.
13,14 жол - UDP протоколына ұқсастық
Берілген мысалда пакеттердің өтуінің шешім қабылдауға арналған байланыс қадамдары қарастырылған. Байланыстардың қадам механизмі туралы: http://gazette.lrn.ru/rus/articles/iptables-tutorial.html#STATEMACHINE


Ex.2-де желідегі кез келген хост үшін TCP/UDP байланысын құруға арналған firewall қарастырылған және кіріс байланыстарын қабылдауға мүмкіндік бермейді. Күрделі протоколдар, мысалы FTP, ядродан қатал поддержканы талап етеді.

Кіріс байланыстарға рұқсат ету

Скриптке қажет кіріс TCP-байланысқа рұқсат беру үшін мына жолды енгізу керек: iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT Бұл жағдайда 20 портқа доступ беріледі. (оған http-серверде кіреді)

Маршрутизация - негіздері

Маршрутизацияны баптау кезінде келесілерді ескеру керек:

1. Маршрутизацияны баптау керек: маршрутизаторда, байланысты қабылдаутын хосттарда, байланысты инициализациялайтын хосттарда, яғни 3 орында.

2. Егер байланысты қабылдайтын хосттарда маршрутизацияны баптау мүмкін емес болса - NAT қолдану керек

3. ip желішелер арасына маршрутизация орындалады. Кез келген 4 версиялы (IPv4) IP стандарттағы іp-адрес 4-х байттан тұрады және шартты түрде желі және хост номеріне бөлінеді. Маршрутизация әртүрлі номердегі желілер арасында жүргізілуі мүмкін.

4. Желіше маскасы (netmask) ip-пакет тақырыбында тасымалданбайды. Желіше маскасы тек хост аймағында болады.

5. Әр түрлі параметрлерді есептеу үшін ipcalc қолданылады:

6. ipcalc 192.168.1.66/26

7.

8. Address: 192.168.1.66 11000000.10101000.00000001.01 000010

9. Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000

10. Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111

11. =>

12. Network: 192.168.1.64/26 11000000.10101000.00000001.01 000000

13. HostMin: 192.168.1.65 11000000.10101000.00000001.01 000001

14. HostMax: 192.168.1.126 11000000.10101000.00000001.01 111110

15. Broadcast: 192.168.1.127 11000000.10101000.00000001.01 111111

16. Hosts/Net: 62 Class C, Private Internet

17.

18. ipcalc 192.168.1.3/26

19.

20. Address: 192.168.1.3 11000000.10101000.00000001.00 000011

21. Netmask: 255.255.255.192 = 26 11111111.11111111.11111111.11 000000

22. Wildcard: 0.0.0.63 00000000.00000000.00000000.00 111111

23. =>

24. Network: 192.168.1.0/26 11000000.10101000.00000001.00 000000

25. HostMin: 192.168.1.1 11000000.10101000.00000001.00 000001

26. HostMax: 192.168.1.62 11000000.10101000.00000001.00 111110

27. Broadcast: 192.168.1.63 11000000.10101000.00000001.00 111111

28. Hosts/Net: 62 Class C, Private Internet

Берілген мысалда хост 192.168.1.66 желіше маскасы орнатылған 26 (255.255.255.192) № 192.168.1.64желіге жатады және 2 номері бар. Ал хост 192.168.1.3 сондай желіше маскасы 192.168.1.0 номеріне жатады және оған3 номерімен кіреді. /26 әр желіше (255.255.255.192) 62 хосттан тұрады. Хосты 192.168.1.66 и 192.168.1.3 можно располагать по разные стороны маршрутизаторды әр жағына орналастыруға болады және олардың арасына маршрутизацияны баптауға болады.

Кері мысал:

ipcalc 192.168.2.1/21

Address: 192.168.2.1 11000000.10101000.00000 010.00000001

Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000

Wildcard: 0.0.7.255 00000000.00000000.00000 111.11111111

=>

Network: 192.168.0.0/21 11000000.10101000.00000 000.00000000

HostMin: 192.168.0.1 11000000.10101000.00000 000.00000001

HostMax: 192.168.7.254 11000000.10101000.00000 111.11111110

Broadcast: 192.168.7.255 11000000.10101000.00000 111.11111111

Hosts/Net: 2046 Class C, Private Internet

ipcalc 192.168.4.1/21

Address: 192.168.4.1 11000000.10101000.00000 100.00000001

Netmask: 255.255.248.0 = 21 11111111.11111111.11111 000.00000000

Wildcard: 0.0.7.255 00000000.00000000.00000 111.11111111

=>

Network: 192.168.0.0/21 11000000.10101000.00000 000.00000000

HostMin: 192.168.0.1 11000000.10101000.00000 000.00000001

HostMax: 192.168.7.254 11000000.10101000.00000 111.11111110

Broadcast: 192.168.7.255 11000000.10101000.00000 111.11111111

Hosts/Net: 2046 Class C, Private Internet

</ou>

Бұл жағдайда 192.168.0.0 бір желіде 2049 хосттар мөлшерімен орналасқан. Олардың арасындағы "нормалді" маршрутизация мүмкін емес.

Мысалға көзге үйренген Возьмем диапазондағы адресті алайық: 192.168.1.0/24 (255.255.255.0) и 192.168.2.0/24 (255.255.255.0) – әр қайсысында 254 түйін.
Мысалы маршрутизаторда 192.168.1.1 немесе 192.168.2.1 адресті екі желілік карта бар.
Желіше арасында маршрутизация жұмыс істеуі үшін баптауларды жүргізу керек:

1. Желідегі хостта 192.168.1.0/24 – желіге маршрут жазу 192.168.2.0/24 через 192.168.1.1 – мысалы linux-та: ip route add 192.168.2.0/24 via 192.168.1.1

2. Маршрутизаторда маршрутизация пакетіне рұқсат беру: echo 1 > /proc/sys/net/ipv4/ip_forward – жолды скриптке қосу керек

3. firewall арқылы маршрутизаторда маршрутизация пакеттерінің өтуіне рұқсат беру

Маршрутизатор арқылы өтетін пакеттер FORWARD тізбегіне түседі.

Ex.3

4. #!/bin/bash


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: