Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

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

подробнее

iptables -A FORWARD -d 192.168.0.5 -m dscp --dscp 0x18

Однако толку от таких конструкций не будет, так как пакеты с ToS, не равным нулю, и так бы не посчитались последним правилом. Чтобы в правилах, описанных выше появился смысл, их надо изменить таким образом, чтобы во всех приходящих пакетах насильно в поле ToS выставлялось нулевое значение (Normal-service). Например, так:

iptables -t mangle -A PREROUTING -j TOS --set-tos 0

iptables -t mangle -A FORWARD -j TOS --set-tos 0

Тогда подсчитывающему правилу:

iptables -A FORWARD -d 192.168.0.5 -m dscp --dscp 0x18

не понадобятся никакие другие усложняющие конструкции. Этот метод прост и хорош, и, возможно, даже не потребует перекомпиляции ядра, так как большинство ядер, по умолчанию поставляемых с системами, уже знает про используемые нами модули и осуществляет их поддержку. (Для тех, кто будет компилировать ядро самостоятельно, поддержку DSCP и TOS следует включить, см. рис. 7.) Но в то же время такой способ решения проблемы неудачен, потому что требует очень больших ресурсов. Если пользователь Вася настраивает правила у себя на домашнем компьютере, то скорее всего, как бы он ни старался, у него не получится более 100 правил. Его система заведомо справится со всеми пакетами без потерь и задержек. Но если речь идёт о маршрутизации на уровне небольшого или среднего провайдера, то все ресурсы на счету. Правил может быть больше тысячи, к тому же на сервере могут работать другие задачи. Если в каждом пакете придётся менять какие-то биты, обнулять что-то в поле ToS, то непременно придётся у всех этих пакетов пересчитывать контрольную сумму, что может значительно загрузить систему.

Поэтому лучше и красивее использовать другой способ подсчёта. Наложить на ядро патч u32 [6, 7] от patch-o-matic, написанный Don Cohen (don@isis.cs3-inc.com).

Для этого, как обычно, скачиваем последние версии ядра (http://www.ru.kernel.org/pub/linux/kernel/v2.4/linux-2.4.26.tar.gz), patch-o-matic (http://www.iptables.org/files/patch-o-matic-ng-20040302.tar.bz2) и заодно iptables (http://www.iptables.org/files/iptables-1.2.9.tar.bz2). Затем, распаковав исходники, следует наложить на них патч.

Особенность patch-o-matic состоит в том, что предлагаемые патчи, хотя и были написаны отнюдь не дураками, всё же могут содержать неумышленные ошибки. Также никто не гарантирует совместимость всех патчей между собой. Поэтому, чтобы лишний раз не понижать надёжность системы, следует устанавливать только те патчи, которые вам реально необходимы. В нашем случае это u32. Наложение патча несколько отличается от обычного синтаксиса команды patch, поэтому об этом чуть подробнее. Прочитав прилагающийся файл README, можно узнать, что следует запустить файл runme с ключом extra. Затем программа проверит значения переменных окружения, в которых указано местонахождение исходников ядра и iptables. Если они окажутся пустыми, то нам будут заданы соответствующие вопросы. После ответа на них вам будут предлагаться на выбор различные патчи с их кратким описанием и примерами. Следует выбирать «n» до тех пор, пока у вас на экране не появится запрос на установку u32.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160]
[161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2016 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100