Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO

Тут можно читать онлайн Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-osnet. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Linux Advanced Routing & Traffic Control HOWTO
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Bert Hubert - Linux Advanced Routing & Traffic Control HOWTO краткое содержание

Linux Advanced Routing & Traffic Control HOWTO - описание и краткое содержание, автор Bert Hubert, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Оригинальную версию документа вы найдете по адресу http://lartc.org/.

Практическое руководство по применению iproute2 (и в меньшей степени netfilter) для управления трафиком.

Linux Advanced Routing & Traffic Control HOWTO - читать онлайн бесплатно полную версию (весь текст целиком)

Linux Advanced Routing & Traffic Control HOWTO - читать книгу онлайн бесплатно, автор Bert Hubert
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

# iptables –A PREROUTING –t mangle –p tcp –sport telnet \

-j TOS –set-tos Minimize-Delay

# iptables –A PREROUTING –t mangle –p tcp –sport ftp \

-j TOS –set-tos Minimize-Delay

# iptables –A PREROUTING –t mangle –p tcp –sport ftp-data \

-j TOS –set-tos Maximize-Throughput

Эти правила прописываются на удаленном хосте и воздействуют на входящие, по отношению к вашему компьютеру, пакеты. Для пакетов, отправляемых в обратном направлении, эти флаги (вроде бы) устанавливаются автоматически. Если это не так, можете на своей системе прописать следующие правила:

# iptables –A OUTPUT –t mangle –p tcp –dport telnet \

-j TOS –set-tos Minimize-Delay

# iptables –A OUTPUT –t mangle –p tcp –dport ftp \

-j TOS –set-tos Minimize-Delay

# iptables –A OUTPUT –t mangle –p tcp –dport ftp-data \

-j TOS –set-tos Maximize-Throughput

15.5. Прозрачное проксирование с помощью netfilter, iproute2, ipchains и squid.

Этот раздел написал Рэм Нарул (Ram Narula), из "Internet for Education" (Таиланд).

Прозрачное проксирование — это обычное перенаправление серверу squidтрафика, отправляемого на порт 80 (web).

Существует 3 общеизвестных способа такого перенаправления:

Шлюз.

Вы можете настроить шлюз таким образом, что он будет перенапрвлять все пакеты, адресованные на порт 80, сереверу squid

НО

Это увеличит нагрузку на шлюз. Кроме того, некоторые коммерческие роутеры не поддерживают такую возможность.

Layer 4 switch

Свичи выполняют такое перенаправление без особых проблем.

НО

Стоимость этого оборудования очень высока и может быть сопоставима с ценой связки "обычный роутер" + "Linux-сервер"

Использовать кэш-сервер в качестве шлюза.

Вы можете отправить ВЕСЬ трафик через кэш-сервер.

НО

Это довольно рисковано, поскольку squidдовольно значительно нагружает CPU, что может привести к снижению производительности сети. Кроме того, squidможет "рухнуть" и тогда никто из сети не сможет выйти в Интернет.

Мы предлагаем 4-й вариант:
Linux+NetFilter.

Эта методика предполагает установку меток на пакеты, с портом назначения равным числу 80, и дальнейшая маршрутизация помеченных пакетов, с помощью iproute2, на squid.

|----------------|

| Реализация |

|----------------|

Используемые адреса

10.0.0.1 naret (NetFilter)

10.0.0.2 silom (Squid)

10.0.0.3 donmuang (Router, соединенный с Интернет)

10.0.0.4 kaosarn (некий сервер в сети)

10.0.0.5 RAS

10.0.0.0/24 main network

10.0.0.0/19 total network

|---------------|

|Структура сети |

|---------------|

Internet

|

donmuang

|

------------hub/switch----------

| | | |

naret silom kaosarn RAS etc.

Прежде всего — весь трафик должен идти через naret , для этого на всех компьютерах пропишем его в качестве шлюза по-умолчанию. Исключение составляет silom , для которого шлюз по-умолчанию — donmuang (в противном случае web-трафик зациклится).

(на всех компьютерах в моей сети был прописан шлюз по-умолчанию – 10.0.0.1, который ранее принадлежал donmuang , поэтому я изменил IP-адрес у donmuang на 10.0.0.3, а серверу naret присвоил адрес 10.0.0.1)

Silom — настройка squid и ipchains

Настройте прокси-сервер squidна silom . Убедитесь, что он поддерживает прозрачное проксирование. Обычно прокси-серверу, для приема запросов от пользователей, назначают порт 3128, поэтому весь трафик, отправляемый на порт 80 будет перенаправлен на порт 3128. С помощью ipchainsэто делают следующие правила:

silom# ipchains –N allow1

silom# ipchains –A allow1 –p TCP –s 10.0.0.0/19 –d 0/0 80 –j REDIRECT 3128

silom# ipchains –I input –j allow1

iptables:

silom# iptables –t nat –A PREROUTING –i eth0 –p tcp –dport 80 –j REDIRECT –to-port 3128

За информацией по настройке сервера squid, обращайтесь на http://squid.nlanr.net/.

Убедитесь, что на этом сервере разрешен форвардинг, и заданный по умолчанию шлюз для него — donmuang (НЕ naret !).

Naret — настройка iptables и iproute2; запрет ICMP-сообщений о перенаправлении (если необходимо)

1. Пометить пакеты, с портом назначения 80, числовой меткой 2.

naret# iptables –A PREROUTING –i eth0 –t mangle –p tcp –dport 80 \

–j MARK –set-mark 2

2. Настроить маршрутизацию так, чтобы помеченные пакеты отправлялись на silom.

naret# echo 202 www.out >> /etc/iproute2/rt_tables

naret# ip rule add fwmark 2 table www.out

naret# ip route add default via 10.0.0.2 dev eth0 table www.out

naret# ip route flush cache

Если donmuang и naret находятся в одной подсети, то naret не должен выдавать ICMP-сообщения о перенаправлении. Запрет можно наложить так:

naret# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects

naret# echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects

naret# echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects

На этом настройку можно считать завершенной. Проверим конфигурацию

Для naret:

naret# iptables -t mangle -L

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

MARK tcp -- anywhere anywhere tcp dpt:www MARK set 0x2

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

naret# ip rule ls

0: from all lookup local

32765: from all fwmark 2 lookup www.out

32766: from all lookup main

32767: from all lookup default

naret# ip route list table www.out

default via 203.114.224.8 dev eth0

naret# ip route

10.0.0.1 dev eth0 scope link

10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1

127.0.0.0/8 dev lo scope link

default via 10.0.0.3 dev eth0

|-------|

|-КОНЕЦ-|

|-------|

15.5.1. Схема движения пакетов после настройки.

|-----------------------------------------|

| Схема движения пакетов |

|-----------------------------------------|

ИНТЕРНЕТ

/\

||

\/

---------------------donmuang------------------------

/\ /\ ||

|| || ||

|| \/ ||

naret silom ||

*destination port 80 ================>(cache) ||

/\ || ||

|| \/ \/

\\===================================kaosarn, RAS, и пр.

Обратите внимание, в данном случае сеть получилась асимметричной, т.е. добавился один лишний переход для исходящих пакетов.

Ниже приводится путь, проделываемый пакетами в/из Интернет для компьютера kaosarn .

Для web/http трафика:

kaosarn http request->naret->silom->donmuang->internet

http replies from Internet->donmuang->silom->kaosarn

Для прочего трафика:

kaosarn outgoing data->naret->donmuang->internet

incoming data from Internet->donmuang->kaosarn

15.6. Решение проблемы с Path MTU Discovery путем настройки MTU.

Общеизвестно, что скорость передачи данных возрастает с увеличением размера пакета. Это вполне естесственно, ведь для каждого пакета в потоке принимается решение о выборе маршрута. К примеру, файл, размером в 1 мегабайт, будет передан быстрее, если он будет разбит на 700 пакетов (при максимальном размере пакета), а не на 4000.

Однако, не все сегменты Интернет могут передавать пакеты, с максимальной полезной нагрузкой в 1460 байт. Поэтому необходимо найти такой размер, который будет максимально возможным для заданного маршрута.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Bert Hubert читать все книги автора по порядку

Bert Hubert - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Linux Advanced Routing & Traffic Control HOWTO отзывы


Отзывы читателей о книге Linux Advanced Routing & Traffic Control HOWTO, автор: Bert Hubert. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x