<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3536466282065011942</id><updated>2024-10-07T07:09:40.793+03:00</updated><title type='text'>snow-leo</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://snow-leo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-9203702483769067626</id><published>2015-10-08T04:55:00.002+03:00</published><updated>2015-10-24T04:30:18.397+03:00</updated><title type='text'>Utraff</title><content type='html'>Понадобилась мне как-то простенькая система учета трафика (просмотр за произвольный период с какого ip адреса сколько входящего и исходящего трафика).&lt;br /&gt;
&lt;div&gt;
Быстро написал такую систему. В ней все довольно просто, система состоит из трех компонентов:&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
1) Демона ipcad (написан не мной), который собирает статистку;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
2) Скрипта, который по крону запускается и сбрасывает всю накопленную ipcad&#39;ом статистику в таблицу базы sqlite, в конце дня статистика суммируется и результат записывается в другую таблицу;&lt;/div&gt;
&lt;div&gt;
3) И простенького web интерфейса для просмотра статистики.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Оговорюсь сразу, данная система не решает проблемы аутентификации пользователя.&lt;br /&gt;
Как вариант, возможна привязка ip к mac через arp таблицу, например как это сделано &lt;a href=&quot;http://xmodulo.com/how-to-add-or-remove-static-arp-entry-on-linux.html&quot; target=&quot;_blank&quot;&gt;здесь&lt;/a&gt;&amp;nbsp;(да и вообще в сети полно манов на эту тему, гуглить по фразе&amp;nbsp;&lt;a href=&quot;https://www.google.ru/search?q=static+arp+on+centos&quot; target=&quot;_blank&quot;&gt;static arp on centos&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Итак, приступим к установке:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;yum install -y httpd php php-pdo libpcap rsh awk sqlite&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;rpm -ihv&amp;nbsp;ipcad-3.7.3-7.x86_64.rpm&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;rpm -ihv&amp;nbsp;utraff-1.1-0.noarch.rpm&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Далее необходимо поправить два конфига: /etc/ipcad.conf и /etc/utraff.conf&lt;br /&gt;
В /etc/ipcad.conf нужно исправить:aggregate &lt;span style=&quot;color: #6aa84f;&quot;&gt;192.168.1.0/24 strip 32;&lt;/span&gt; на Вашу подсеть и изменить интерфейс локальной сети (параметр &lt;span style=&quot;color: #6aa84f;&quot;&gt;interface eth0;&lt;/span&gt;), на котором ipcad cобирает статистику (по-умолчанию eth0).&lt;br /&gt;
В /etc/utraff.conf достаточно поправить параметр &lt;span style=&quot;color: #6aa84f;&quot;&gt;local_net&lt;/span&gt; (изменив его на Вашу подсеть) и прописать в секции &lt;span style=&quot;color: #6aa84f;&quot;&gt;[users]&lt;/span&gt; какому пользователю, какой ip принадлежит.&lt;br /&gt;
Все остальные параметры интуитивно понятны.&lt;br /&gt;
&lt;br /&gt;
Далее в консоли:&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;systemctl enable ipcad&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;systemctl enable httpd&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;systemctl start httpd&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: red;&quot;&gt;systemctl start ipcad&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;systemctl restart crond&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Вот собственно и все, на следующее утро заходим в web &amp;nbsp;интерфейс (логин и пароль прописаны в конфиге utraff) выбираем день и смотрим статистику.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixuxftCgXnBvUc0NuJwq5VuldkM-6Ev5pJf81VujLiqNEN5zWJN6bpOuy_0N9KNd6q4I7T7NS-ZiuimryxIFvplFTO6KrXYSHEegn-6Xp_TAMG47i54jv8Zd1SjusFN8JwjHCI9iaChwls/s1600/utraff_pic2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;159&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixuxftCgXnBvUc0NuJwq5VuldkM-6Ev5pJf81VujLiqNEN5zWJN6bpOuy_0N9KNd6q4I7T7NS-ZiuimryxIFvplFTO6KrXYSHEegn-6Xp_TAMG47i54jv8Zd1SjusFN8JwjHCI9iaChwls/s320/utraff_pic2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
P.S.&amp;nbsp; Пакеты &lt;a href=&quot;https://yadi.sk/d/soOTyNixjxgK2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь.&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/9203702483769067626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/9203702483769067626'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2015/10/utraff.html' title='Utraff'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixuxftCgXnBvUc0NuJwq5VuldkM-6Ev5pJf81VujLiqNEN5zWJN6bpOuy_0N9KNd6q4I7T7NS-ZiuimryxIFvplFTO6KrXYSHEegn-6Xp_TAMG47i54jv8Zd1SjusFN8JwjHCI9iaChwls/s72-c/utraff_pic2.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-6086906520094466673</id><published>2013-06-24T01:09:00.000+04:00</published><updated>2013-06-24T01:09:16.359+04:00</updated><title type='text'>Haveged</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN6qTXVAb9ROlfu21xxtKoh5Y2aAVGmJet-gUv-8-zGHerp_zlbeCHsrB1TfKpUjm4izHK_MnqYR5gRUSV8sjzsc0cEIzRWCTvXLZc9a6Kt5o3g7MR1wUknkAmUn8pIAe_m0AjuKe2iAb7/s1600/logo_irisa.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;35&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN6qTXVAb9ROlfu21xxtKoh5Y2aAVGmJet-gUv-8-zGHerp_zlbeCHsrB1TfKpUjm4izHK_MnqYR5gRUSV8sjzsc0cEIzRWCTvXLZc9a6Kt5o3g7MR1wUknkAmUn8pIAe_m0AjuKe2iAb7/s200/logo_irisa.gif&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;И снова здравствуйте, в этот раз речь пойдет о такой весьма интересной вещи как демон haveged. Во-первых - что это такое? Демон является реализацией алгоритма HAVEGE для linux систем. О том что это за алгоритм можно почитать &lt;a href=&quot;http://www.irisa.fr/caps/projects/hipsor/#more&quot; target=&quot;_blank&quot;&gt;здесь(анг)&lt;/a&gt; и &lt;a href=&quot;https://www.pgpru.com/novosti/2013/havegealjternativnyjjsposobpoluchenijakriptostojjkojjentropiiizprocessorov&quot; target=&quot;_blank&quot;&gt;здесь(рус)&lt;/a&gt;.&lt;br /&gt;
Во-вторых - для чего он нужен. Сам по себе haveged является всего лишь способом получения криптостойкой энтропии при помощи CPU, для ускорения криптографических операций.&lt;br /&gt;
Проще говоря шифрование будет работать быстрее.&lt;br /&gt;
&lt;br /&gt;
Перед инсталяцией выполните:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;cat /proc/sys/kernel/random/entropy_avail&lt;/span&gt;&lt;br /&gt;
и запомните циферку&lt;br /&gt;
&lt;br /&gt;
Итак для установки нам понядобятся: подключенный репозитарий epel и команда:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;yum install -y haveged&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Далее:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;service&amp;nbsp;haveged start&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;chkconfig&amp;nbsp;haveged on&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
После чего вновь выполните:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;cat /proc/sys/kernel/random/entropy_avail&lt;/span&gt;&lt;br /&gt;
Видите разницу?&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6086906520094466673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6086906520094466673'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2013/06/haveged.html' title='Haveged'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN6qTXVAb9ROlfu21xxtKoh5Y2aAVGmJet-gUv-8-zGHerp_zlbeCHsrB1TfKpUjm4izHK_MnqYR5gRUSV8sjzsc0cEIzRWCTvXLZc9a6Kt5o3g7MR1wUknkAmUn8pIAe_m0AjuKe2iAb7/s72-c/logo_irisa.gif" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-7891774264212660963</id><published>2013-06-24T00:17:00.001+04:00</published><updated>2013-06-24T00:17:15.775+04:00</updated><title type='text'>DenyHosts</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoiH3z3iNkU7Cmc6rYlppsS7-wnwgAgZZ_1rd53YR5Z_HPHSWfd4sICQJEFrXRf4P3Jgw7CLlYbrHT2CkjorIFUz2yJ1H4QIFkXxAXs_g8bOrc8PMUz9TS60ITP46mARvbYAWWTS8WKDC8/s1600/denyhosts.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;41&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoiH3z3iNkU7Cmc6rYlppsS7-wnwgAgZZ_1rd53YR5Z_HPHSWfd4sICQJEFrXRf4P3Jgw7CLlYbrHT2CkjorIFUz2yJ1H4QIFkXxAXs_g8bOrc8PMUz9TS60ITP46mARvbYAWWTS8WKDC8/s200/denyhosts.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Наверно ни для кого не новость, но все же напишу о такой замечательной штуке как denyhosts. Это небольшой скрипт написаный на питоне, который анализирует сообщения в системном журнале безопасности (/var/log/secure), выискивает с каких хостов идут неудачные попытки зайти на наш сервер по ssh и блокирует данные хосты, добавляя их ip адреса в файл /etc/hosts.deny .&lt;br /&gt;
Сам пакет можно установить из репозитария epel простой командой:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;yum install -y denyhosts&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Для защиты ssh после установки его необходимо лишь запустить и добавить в автозагрузку при старте системы.&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;service denyhosts start&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;chkcofig denyhosts on&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
На этом пожалуй что все, за подробностями прошу на &lt;a href=&quot;http://denyhosts.sourceforge.net/&quot; target=&quot;_blank&quot;&gt;официальный сайт разработчиков&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/7891774264212660963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/7891774264212660963'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2013/06/denyhosts.html' title='DenyHosts'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjoiH3z3iNkU7Cmc6rYlppsS7-wnwgAgZZ_1rd53YR5Z_HPHSWfd4sICQJEFrXRf4P3Jgw7CLlYbrHT2CkjorIFUz2yJ1H4QIFkXxAXs_g8bOrc8PMUz9TS60ITP46mARvbYAWWTS8WKDC8/s72-c/denyhosts.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-2148673709305024625</id><published>2013-02-05T14:36:00.003+04:00</published><updated>2013-02-06T03:21:34.069+04:00</updated><title type='text'>GRID на благо человечества</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmv9cHjTnbJGU3ZyW2ohXIhk0CMdkBYZE3-dXOp2a2iIPCJJgmo9zVi7HY0p5tmVgSO8e3__itBw4bNbf1sM7pJlUb90BKfmQ3JLx2V3NiZdkbO4zNzcIddKBz5avPO_OU01WyAfztXAAV/s1600/dyn_logo_4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmv9cHjTnbJGU3ZyW2ohXIhk0CMdkBYZE3-dXOp2a2iIPCJJgmo9zVi7HY0p5tmVgSO8e3__itBw4bNbf1sM7pJlUb90BKfmQ3JLx2V3NiZdkbO4zNzcIddKBz5avPO_OU01WyAfztXAAV/s1600/dyn_logo_4.jpg&quot; /&gt;&lt;/a&gt;Да именно так, сегодня поговорим о том, что делать с неиспользуемым процессорным временем и как с помощью нехитрых манипуляций можно помочь ученым в разработке новых лекарств, источников энергии и т. д.&lt;br /&gt;
Делать мы это будем при помощи технологии &lt;a href=&quot;http://ru.wikipedia.org/wiki/Grid&quot; target=&quot;_blank&quot;&gt;GRID&lt;/a&gt;.&lt;br /&gt;
Для начала идем &lt;a href=&quot;http://www.worldcommunitygrid.org/&quot; target=&quot;_blank&quot;&gt;сюда&lt;/a&gt; и регистрируемся. Переходим на вкладку My profile, &amp;nbsp;находим там Account Key и копируем его.&lt;br /&gt;
&lt;br /&gt;
Далее:&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;yum install -y boinc-client&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;chkconfig boinc-client on&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;service boinc-client start&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red;&quot;&gt;cd /var/lib/boinc&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;span style=&quot;color: red;&quot;&gt;boinccmd --project_attach http://worldcommunitygrid.org ВАШ_ACCOUNT_KEY&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
Все, через 5-10 минут активно начнутся расчеты.&lt;br /&gt;
Ну и &lt;a href=&quot;http://ru.wikipedia.org/wiki/World_Community_Grid&quot; target=&quot;_blank&quot;&gt;ссылка на описание WorlCommunityGrid проекта на википедии&lt;/a&gt;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/2148673709305024625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/2148673709305024625'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2013/02/grid.html' title='GRID на благо человечества'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmv9cHjTnbJGU3ZyW2ohXIhk0CMdkBYZE3-dXOp2a2iIPCJJgmo9zVi7HY0p5tmVgSO8e3__itBw4bNbf1sM7pJlUb90BKfmQ3JLx2V3NiZdkbO4zNzcIddKBz5avPO_OU01WyAfztXAAV/s72-c/dyn_logo_4.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-1898157533219761943</id><published>2013-01-16T15:29:00.001+04:00</published><updated>2013-01-20T23:14:44.341+04:00</updated><title type='text'>OpenVPN (Site To Site)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Пример построения siste-to-site VPN с использованием OpenVPN.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Итак предположим у нас есть два офиса (A и B), в каждом офисе есть по шлюзу (Router_A и &amp;nbsp;Router_B).&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
За каждым из роутеров находится соответствующая локальная сеть (Network_A - 192.168.1.0/24 &amp;nbsp;и &amp;nbsp;Network_B - 192.168.2.0/24).&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Еще у роутеров есть по внешнему Ip адресу(1.1.1.1 и 2.2.2.2 соответственно).&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXrdGQS0x_LZQy3ZcgPs58C_7v4LKCmnUT4RGGyTSS8Bue9qz4GQtUsmsXaV89t9wNURKt4i0h8_f9cgu7vdi6yD4X11FZFJVp37-NgPH63CykDZfHg4K6-k1P_VcQMUR0E8eV53xgdUU/s1600/site_to_site.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXrdGQS0x_LZQy3ZcgPs58C_7v4LKCmnUT4RGGyTSS8Bue9qz4GQtUsmsXaV89t9wNURKt4i0h8_f9cgu7vdi6yD4X11FZFJVp37-NgPH63CykDZfHg4K6-k1P_VcQMUR0E8eV53xgdUU/s640/site_to_site.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Необходимо сделать так чтобы пользователи сети А могли получить доступ к сети В и наоборот.&lt;br /&gt;
Роутер А у нас будет сервером (будет принимать подключение), роутер В - клиентом (будет подключаться к серверу).&lt;br /&gt;
На обоих серверах:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;yum install -y wget&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;wget http://mirror.yandex.ru/epel/6/x86_64/epel-release-6-8.noarch.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;rpm -ihv epel-release-6-8.noarch.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;rm -f epel-release-6-8.noarch.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;yum install -y openvpn&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;chkconfig openvpn on&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Далее на сервере А:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/ /root/PKI&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;chmod +x /root/PKI/*&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;cp /root/PKI/openssl-1.0.0.cnf /root/PKI/openssl.cnf&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;cd /root/PKI/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
правим ./vars , задаем следующие параметры:&lt;br /&gt;
export KEY_COUNTRY=&quot;ваша страна&quot;&lt;br /&gt;
export KEY_PROVINCE=&quot;ваша область&quot;&lt;br /&gt;
export KEY_CITY=&quot;город&quot;&lt;br /&gt;
export KEY_ORG=&quot;организация&quot;&lt;br /&gt;
export KEY_EMAIL=&quot;ваш e-mail&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;source ./vars&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;./clean-all&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;./build-ca (при генерации жмем везде Enter)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;./build-key-server server (Также жмем Enter на все вопросы)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;./build-dh&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;./build-key router_b (генерим ключи клиентов)(все также жмем Enter)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;ln -s /root/PKI/keys /etc/openvpn/keys&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;mkdir /etc/openvpn/ccd&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Конфиг Router_A(/etc/openvpn/server.conf):&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;port 1194&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;proto tcp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;dev tun&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;ca keys/ca.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;cert keys/server.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;key keys/server.key&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;dh keys/dh1024.pem&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#========================&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;server 10.10.0.0 255.255.255.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#(виртуальная сеть которую будет использовать сервер для назначения клиенту ip адреса )&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;ifconfig-pool-persist ipp.txt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;push &quot;route 192.168.1.0 255.255.255.0&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;# отдаем клиенту(router_b) маршрут до сети за router_A (в нашем случае 192.168.1.0/24)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;route 192.168.2.0 255.255.255.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;# маршрут до сети Router_B&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;client-config-dir ccd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;# используем папку ccd для хранения настроек клиентов&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;#========================&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;keepalive 10 120&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;comp-lzo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;user openvpn&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;group openvpn&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;persist-key&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;persist-tun&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;status /var/log/openvpn-status.log&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;log /var/log/openvpn.log&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;verb 3&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Копируем следущие файлы с router_a:&lt;br /&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;/root/PKI/keys/ca.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;/root/PKI/keys/router_b.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;/root/PKI/keys/router_b.key&lt;/span&gt;&lt;br /&gt;
на router_b в директорию /etc/openvpn/keys/&lt;br /&gt;
&lt;br /&gt;
Конфиг Router_B(/etc/openvpn/client.conf)&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;client&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;dev tun&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;proto tcp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;remote 1.1.1.1 1194&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;resolv-retry infinite&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;nobind&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;persist-key&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;persist-tun&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;ca /etc/openvpn/keys/ca.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;cert /etc/openvpn/keys/router_b.crt&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;key /etc/openvpn/keys/router_b.key&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;ns-cert-type server&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;comp-lzo&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;verb 3&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Далее на Router_A:&lt;br /&gt;
в директории /etc/openvpn/ccd&lt;br /&gt;
создаем файлик:&amp;nbsp;&lt;span style=&quot;color: red;&quot;&gt;router_b&lt;/span&gt;&lt;br /&gt;
и пишем в него следующее:&lt;br /&gt;
&lt;span style=&quot;color: #bf9000;&quot;&gt;iroute 192.168.2.0 255.255.255.0&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
На обоих серверах в файле /etc/sysctl.conf включаем ip_forward:&lt;br /&gt;
меняем строку&lt;br /&gt;
net.ipv4.ip_forward = 0&lt;br /&gt;
на &lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
&lt;br /&gt;
После команду:&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;sysctl -p&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Соответственно настраиваем iptables.&lt;br /&gt;
И команда:&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;service openvpn start&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/1898157533219761943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/1898157533219761943'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2013/01/openvpn-site-to-site.html' title='OpenVPN (Site To Site)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNXrdGQS0x_LZQy3ZcgPs58C_7v4LKCmnUT4RGGyTSS8Bue9qz4GQtUsmsXaV89t9wNURKt4i0h8_f9cgu7vdi6yD4X11FZFJVp37-NgPH63CykDZfHg4K6-k1P_VcQMUR0E8eV53xgdUU/s72-c/site_to_site.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-6300378360543186551</id><published>2012-12-09T23:48:00.001+04:00</published><updated>2012-12-09T23:50:51.008+04:00</updated><title type='text'>grub on software raid (md)</title><content type='html'>При установке системы(Centos 4, 5 или 6) на софтверный raid1 инсталятор ставит загрузчик только на /dev/sda про остальные диски он даже не вспоминает. Это может привести к очень не хорошей ситуации, если у вас умрет /dev/sda и машина перезагрузится, то загрузится со второго диска вы уже не сможете. Понятно, что можно взять rescue cd &amp;nbsp;и с него поставить загрузчик на второй диск, но зачем усложнять себе жизнь, если можно просто после установки проинсталить grub на второй диск:&lt;br /&gt;
Для этого в консоли набираем:&lt;br /&gt;
grub&lt;br /&gt;
Далее:&lt;br /&gt;
device (hd0) /dev/sdb &lt;br /&gt;
root (hd0,0) &lt;br /&gt;
setup (hd0)&lt;br /&gt;
quit&lt;br /&gt;
&lt;br /&gt;
Все. Теперь загрузчик есть на обоих дисках.&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6300378360543186551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6300378360543186551'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2012/12/grub-on-software-raid-md.html' title='grub on software raid (md)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-5292455708118023097</id><published>2012-11-15T19:34:00.003+04:00</published><updated>2012-12-16T00:37:16.330+04:00</updated><title type='text'>vnstat</title><content type='html'>Для простого мониторинга количества израсходованного трафика на сервере удобно использовать vnstat.&lt;br /&gt;
&lt;br /&gt;
Для установки:&lt;br /&gt;
yum install -y vnstat&lt;br /&gt;
&lt;br /&gt;
Настройка:&lt;br /&gt;
vnstat -u -i eth0 (Указывать необходимо интерфейс смотрящий в интернет)&lt;br /&gt;
chkconfig vnstat on&lt;br /&gt;
service vnstat start&lt;br /&gt;
&lt;br /&gt;
Ну и просмотр статистики:&lt;br /&gt;
За день vnstat -d&lt;br /&gt;
За месяц vnstat -m&lt;br /&gt;
В реальном времени vnstat -l&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/5292455708118023097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/5292455708118023097'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2012/11/vnstat.html' title='vnstat'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-9072962881969506257</id><published>2012-09-11T02:49:00.002+04:00</published><updated>2012-09-11T02:49:59.296+04:00</updated><title type='text'>Настройка SSHD (доступ по ключам)</title><content type='html'>&lt;br /&gt;
Пример простого конфига демона SSH.&lt;br /&gt;
Авторизация разрешена только по ключам.&lt;br /&gt;
&lt;br /&gt;
Port 22&lt;br /&gt;
Protocol 2&lt;br /&gt;
SyslogFacility AUTHPRIV&lt;br /&gt;
LoginGraceTime 2m&lt;br /&gt;
PermitRootLogin without-password&lt;br /&gt;
StrictModes yes&lt;br /&gt;
MaxAuthTries 3&lt;br /&gt;
MaxSessions 10&lt;br /&gt;
RSAAuthentication yes&lt;br /&gt;
PubkeyAuthentication yes&lt;br /&gt;
AuthorizedKeysFile&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;.ssh/authorized_keys&lt;br /&gt;
PasswordAuthentication no&lt;br /&gt;
PermitEmptyPasswords no&lt;br /&gt;
ChallengeResponseAuthentication no&lt;br /&gt;
UsePAM no&lt;br /&gt;
PrintMotd no&lt;br /&gt;
PrintLastLog no&lt;br /&gt;
UseDNS no&lt;br /&gt;
Subsystem&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;sftp&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;/usr/lib/misc/sftp-server&lt;br /&gt;
AllowUsers root&lt;br /&gt;
&lt;br /&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/9072962881969506257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/9072962881969506257'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2012/09/sshd.html' title='Настройка SSHD (доступ по ключам)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-2418697051220215772</id><published>2012-05-25T02:38:00.003+04:00</published><updated>2012-05-25T02:39:31.901+04:00</updated><title type='text'>Клонирование таблицы разделов.</title><content type='html'>Заметка чисто для себя (чтоб не забыть).&lt;br /&gt;
Обалденно удобный способ клонировать таблицу разделов (но не содержимое) с одного диска на другой.&lt;br /&gt;
sfdisk -d /dev/sda &amp;gt; sda.par&lt;br /&gt;
sfdisk -f /dev/sdb &amp;lt; sda.par&lt;br /&gt;
И всё. Всё скопировалось с sda на sdb.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/2418697051220215772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/2418697051220215772'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2012/05/blog-post.html' title='Клонирование таблицы разделов.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-7368534383404969088</id><published>2011-06-06T18:17:00.003+04:00</published><updated>2012-05-27T17:49:02.789+04:00</updated><title type='text'>Lightsquid</title><content type='html'>И снова здравствуйте. Сегодня речь пойдет программе без которой не обходится ни один прокси сервер - это программа для агрегации логов и генерации отчетов прокси сервера.&lt;br /&gt;
Так уж получилось что программ таких довольно много, но на мой взгляд внимания заслуживают лишь немногие и &lt;a href=&quot;http://lightsquid.sourceforge.net/&quot;&gt;lightsquid&lt;/a&gt;, одна из них.&lt;br /&gt;
В RHEL, Centos и Scientific Linux 6 &amp;nbsp; эта программа устанавливается и настраивается очень легко, она есть в репозитарии EPEL 6.&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: inherit;&quot;&gt;rpm -Uhv&amp;nbsp;http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: inherit;&quot;&gt;yum install&amp;nbsp;lightsquid&amp;nbsp;lightsquid-apache httpd&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: inherit;&quot;&gt;chkconfig httpd on&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #666666; font-family: inherit;&quot;&gt;servise httpd start&lt;/span&gt;&lt;br /&gt;
Дальше нам необходимо немного донастроить сам lightsquid&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Открываем /etc/lightsquid/lightsquid.cfg и меняем&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;# -------------------- WEB VARIABLES &amp;nbsp;----------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;#language&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;#see `lang` folder (avaible: bg,eng,fr,hu,it,pt_br,ru,sp)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: inherit;&quot;&gt;$lang &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&quot;eng&quot;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;НА&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;# -------------------- WEB VARIABLES &amp;nbsp;----------------------------------------&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;#language&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;#see `lang` folder (avaible: bg,eng,fr,hu,it,pt_br,ru,sp)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue; font-family: inherit;&quot;&gt;$lang &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&quot;ru-utf8&quot;;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Собственно все. На следующее утро по ссылке http://IP_НАШЕГО_СЕРВЕРА/lightsquid мы увидим отчет за сегодня(они генерятся каждую ночь).&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;Ну уи собственно ссылки на другие проекты подобной тематики:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://sarg.sourceforge.net/sarg.php&quot;&gt;SARG&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://launchpad.net/mysar&quot;&gt;MySar&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;PS. В отличие от sarg или mysar отчеты lightsquid занимают очень мало места, что может играть немаловажную роль, особенно, если у Вас пользователей больше 50 а время хранения отчетов не менее года.
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/7368534383404969088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/7368534383404969088'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2011/06/lightsquid.html' title='Lightsquid'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-3336171486298726229</id><published>2011-01-15T16:46:00.001+03:00</published><updated>2011-12-02T09:47:13.305+04:00</updated><title type='text'>Настройка PPPOE сервера.</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIcYzed6gLxAGmHABo_Pzb9c6LqXhOCDNcvrd7sA7WPSyD0MfjYMH9hekf5YgbZcMNrLxVOcNZ-mcAilcH_vWMvMwDrp-iMEPLo6iiHN3mUarR8rbjghkTXRcBLdLkq6TahjIgVwwkLApu/s1600/RPSLogo.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIcYzed6gLxAGmHABo_Pzb9c6LqXhOCDNcvrd7sA7WPSyD0MfjYMH9hekf5YgbZcMNrLxVOcNZ-mcAilcH_vWMvMwDrp-iMEPLo6iiHN3mUarR8rbjghkTXRcBLdLkq6TahjIgVwwkLApu/s1600/RPSLogo.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Ну а сегодня пожалуй поговорим о настройке PPPOE сервера.&lt;br /&gt;
Что это такое смотрим &lt;a href=&quot;http://ru.wikipedia.org/wiki/PPPoE&quot;&gt;здесь&lt;/a&gt;. В роли сервера у нас будет выступать pppoe-server входящий в пакет rp-pppoe, разработанный компанией &lt;a href=&quot;http://www.roaringpenguin.com/products/pppoe&quot;&gt;roaring penguin inc&lt;/a&gt;.&lt;br /&gt;
Итак поехали: для начала ставим пакет (есть в стандартных репах)&lt;br /&gt;
yum install &amp;nbsp;-y rp-pppoe&lt;br /&gt;
После инсталляции правим файлик /etc/ppp/pppoe-server-options и приводим его к след. виду:&lt;br /&gt;
&lt;br /&gt;
name pppoe&lt;br /&gt;
local&lt;br /&gt;
proxyarp&lt;br /&gt;
logfile /var/log/log.pppoe&lt;br /&gt;
#require-pap&lt;br /&gt;
require-chap&lt;br /&gt;
#require-mschap&lt;br /&gt;
#require-mschap-v2&lt;br /&gt;
lcp-echo-interval 20&lt;br /&gt;
lcp-echo-failure 3&lt;br /&gt;
ms-dns XX.XX.XXX.XXX #Ваш DNS сервер&lt;br /&gt;
ms-dns 8.8.8.8&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
nobsdcomp&lt;br /&gt;
lock&lt;br /&gt;
&lt;br /&gt;
Вслучае с kernel mode конфиг будет такой:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
name pppoe&lt;br /&gt;
logfile /var/log/pppoe.log&lt;br /&gt;
require-chap&lt;br /&gt;
ktune&lt;br /&gt;
lcp-echo-interval 20&lt;br /&gt;
lcp-echo-failure 3&lt;br /&gt;
ms-dns 192.168.102.1&lt;br /&gt;
netmask 255.255.255.0&lt;br /&gt;
mtu 1480&lt;br /&gt;
mru 1480&lt;br /&gt;
default-asyncmap&lt;br /&gt;
nodeflate&lt;br /&gt;
nobsdcomp&lt;br /&gt;
noccp&lt;br /&gt;
noendpoint&lt;br /&gt;
noipdefault&lt;br /&gt;
noipx&lt;br /&gt;
novj&lt;br /&gt;
receive-all&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Прописываем в файле chap-secrets логины и пароли клиентов&lt;br /&gt;
USER &amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;pppoe&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;PASS&amp;nbsp;&amp;nbsp;192.168.102.12&lt;br /&gt;
И все далее его просто запускаем командой&lt;br /&gt;
&lt;br /&gt;
pppoe-server -I eth1 -L 192.168.102.1 -R 192.168.102.2 - для userspace&lt;br /&gt;
pppoe-server -k -I eth1 -L 192.168.102.1 -R 192.168.102.2&amp;nbsp;-для kernel mode&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;где -I &amp;nbsp;--интерфейс который слушает демон&amp;nbsp;&lt;/div&gt;&lt;div&gt;-L &amp;nbsp; -- локальный ip сервера&amp;nbsp;&lt;/div&gt;&lt;div&gt;-R &amp;nbsp;-- начальный адрес клиента&lt;/div&gt;&lt;br /&gt;
ВСЕ.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3336171486298726229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3336171486298726229'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2011/01/pppoe.html' title='Настройка PPPOE сервера.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIcYzed6gLxAGmHABo_Pzb9c6LqXhOCDNcvrd7sA7WPSyD0MfjYMH9hekf5YgbZcMNrLxVOcNZ-mcAilcH_vWMvMwDrp-iMEPLo6iiHN3mUarR8rbjghkTXRcBLdLkq6TahjIgVwwkLApu/s72-c/RPSLogo.gif" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-6362320251583535723</id><published>2011-01-09T20:12:00.004+03:00</published><updated>2011-06-16T08:32:09.833+04:00</updated><title type='text'>DHCPD</title><content type='html'>Итак продолжим, я надеюсь что все знают &lt;a href=&quot;http://ru.wikipedia.org/wiki/DHCP&quot;&gt;что такое dhcp&lt;/a&gt;. Ну а как его настроить я и расскажу вам сегодня. По старой традиции приведу конфиг и по ходу пьесы прокомментирую.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;/etc/dhcpd.conf :&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ddns-update-style interim;&lt;br /&gt;
ignore client-updates;&lt;br /&gt;
&lt;br /&gt;
subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;#сеть и маска&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option routers&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;192.168.0.1; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# шлюз по умолчанию который будет отдавать клиентам&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option subnet-mask&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;255.255.255.0; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# маска&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option nis-domain&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;example.com&quot;; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# имя домена nis (ну мало ли кому пригодится)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option domain-name&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;example.com&quot;; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# имя домена DNS&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option domain-name-servers&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;192.168.0.1; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# сам DNS сервер&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option time-offset&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;10800;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# GMT+3 ну тут думаю все понятно (временная зона)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option ntp-servers&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;192.168.0.1; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# сервер ntp&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option netbios-name-servers&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;192.168.0.1; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# сервер netbios&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option subnet-mask 255.255.255.0;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;option broadcast-address 192.168.0.255; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# широковещательный адрес&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;range 192.168.0.10 192.168.0.250; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# диапазон из которого выдаются адреса&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;default-lease-time 432000; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;# стандартное время на которое выдается ip&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;max-lease-time 4320000; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# максимальное&amp;nbsp;время на которое выдается ip&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;# ну и пример того как закрепить за машиной конкретный ip адрес&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;host test {&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt; # имя хоста (да какое хотите такое и ставьте)&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;hardware ethernet 00:24:8c:7a:8d:f4; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;# mac адрес&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;fixed-address 192.168.0.240; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #38761d;&quot;&gt; #ip адрес&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Ставится сам сервер крайне просто:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;yum install -y dhcp&lt;/span&gt;&lt;br /&gt;
В стандартных репах присутствует.&lt;br /&gt;
P.S. Не запутайтесь в скобочках и точках с запятой.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6362320251583535723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6362320251583535723'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2011/01/dhcpd.html' title='DHCPD'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-8080635205047200211</id><published>2011-01-09T19:39:00.000+03:00</published><updated>2012-05-25T06:23:06.129+04:00</updated><title type='text'>Простенький PPTP server</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFCA1WJd13a3HXBxf-iORWBQQJU7iGXtTg6hMK66kgk6XBuGNDot6sR860G3Epk33ozuloAEyhRBsDUuYi9o2RvY8dgLqX31u_0fQSEHTh9CWtQ6LFZGPa3PgeJklTF4IS03Bb-AxcGXes/s1600/connect-to-pptp-vpn-server.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFCA1WJd13a3HXBxf-iORWBQQJU7iGXtTg6hMK66kgk6XBuGNDot6sR860G3Epk33ozuloAEyhRBsDUuYi9o2RvY8dgLqX31u_0fQSEHTh9CWtQ6LFZGPa3PgeJklTF4IS03Bb-AxcGXes/s1600/connect-to-pptp-vpn-server.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Как -то раз поставили передо мной такую задачу - настроить PPTP сервер, для того чтобы раздавать интернет юзверям в одной конторе.&lt;br /&gt;
Ну прям таки скажем задача проще некуда, но на всякий случай опишу как это делается (мало ли кому пригодится).&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;Для начала нам необходимо установить этот самый pptp сервер во многих дистрибутивах он есть но вот например в CentOS его нет, чтож исправим это доустановив &amp;nbsp;соответствующий репозитарий:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: inherit;&quot;&gt;rpm -Uvh http://pptpclient.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm&lt;/span&gt;&lt;br /&gt;
Далее установим сам демон:&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;yum install -y pptpd&lt;/span&gt;&lt;br /&gt;
После инсталляции нам необходимо поправить два файла(далее просто приведу их содержание)&lt;br /&gt;
1) &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;/etc/pptpd.conf&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;ppp /usr/sbin/pppd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;option /etc/ppp/options.pptpd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;logwtmp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;connections 250&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;#(далее следуют ip виртуальной сети)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;localip 192.168.100.1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;remoteip 192.168.100.2-251&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
2)&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt; /etc/ppp/options.pptpd&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;name pptpd&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;require-pap&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;require-chap&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;#(в качестве DNS серверов можете прописать сервера провайдера или гугла)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;ms-dns 8.8.8.8&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;ms-dns 192.168.0.1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;#debug&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;lock&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;nobsdcomp&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;novj&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;novjccomp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;nologfd&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #073763;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
Ну вот собственно и все теперь осталось только завести пользователей в файле /etc/ppp/chap-secrets &amp;nbsp;и включить NAT[смотри пост про iptables] (ну или вкорячить прозрачную проксю).&lt;br /&gt;
&lt;br /&gt;
P.S. Если увидите в логах ерунду&amp;nbsp;подобную этой:&lt;br /&gt;
&lt;span style=&quot;color: yellow;&quot;&gt;pptpd[2474]: GRE: Bad checksum from pppd.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: yellow;&quot;&gt;pptpd[2474]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!&lt;/span&gt;&lt;br /&gt;
не пугайтесь все нормально это у pptpd отродясь, разработчики уже давно на этот баг заби и просто задокументировали его.&lt;br /&gt;
А как известно - задокументированный баг - это не баг, а фича. :-)&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #073763;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/8080635205047200211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/8080635205047200211'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2011/01/pptp-server.html' title='Простенький PPTP server'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFCA1WJd13a3HXBxf-iORWBQQJU7iGXtTg6hMK66kgk6XBuGNDot6sR860G3Epk33ozuloAEyhRBsDUuYi9o2RvY8dgLqX31u_0fQSEHTh9CWtQ6LFZGPa3PgeJklTF4IS03Bb-AxcGXes/s72-c/connect-to-pptp-vpn-server.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-4708557105598756295</id><published>2010-10-12T22:18:00.011+04:00</published><updated>2010-10-20T16:50:23.385+04:00</updated><title type='text'>Bind 9</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8Nq5uwzbrH20Qz0FZ_vwMi09NsIlXRpryRskvtHmKlOKEUssN5N848zK_7501GgOyQ5ZnqAk1bhjmznHUvtbZom3XEXvOwUFXY1DX6T52RiLj1XMMp4HbKLFOmOB-wruZUnvcsTmh-qT/s1600/n249875754014_335.jpg&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5527228569900391474&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8Nq5uwzbrH20Qz0FZ_vwMi09NsIlXRpryRskvtHmKlOKEUssN5N848zK_7501GgOyQ5ZnqAk1bhjmznHUvtbZom3XEXvOwUFXY1DX6T52RiLj1XMMp4HbKLFOmOB-wruZUnvcsTmh-qT/s200/n249875754014_335.jpg&quot; style=&quot;cursor: hand; cursor: pointer; float: left; height: 76px; margin: 0 10px 10px 0; width: 200px;&quot; /&gt;&lt;/a&gt;     BIND 9 &lt;br /&gt;
&lt;div&gt;Давненько я ничего не писал, ну чтож приступим...&lt;/div&gt;&lt;div&gt;В этой заметке будет рассмотрена конфигурация DNS сервера Bind версии 9 на примере CentOS 5. Разочарую сразу, никаких &quot;откровений&quot; или тонкостей настроек не ждите, будет рассмотрена простенькая конфигурация, единственное  что мы сделаем так это настроим Bind так  чтобы он работал в chroot окружении. А работать он у нас будет в качестве DNS форварда и плюс ко всему будет поддерживать собственную зону example.com, видимую только из локальной сети. (Для большинства небольших компаний этого хватит за глаза, ну а тем кто хочет большего пара ссылок в конце заметки и google в помощь.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;yum install bind bind-chroot caching-nameserver&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;(пакет bind - собственно сам dns сервер &lt;/div&gt;&lt;div&gt;пакет bind-chroot - файлы конфигурации и скрипты необходимые для переноса bind в chroot&lt;/div&gt;&lt;div&gt;пакет caching-nameserver - файлы конфигурации &quot;заточенные&quot; для работы bind в качестве dns форварда и кеширующего сервера)&lt;/div&gt;&lt;div&gt;После установки пакетов, лезем в /var/named/chroot/etc и открываем в любимом текстовом редакторе файлик named.conf.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;options {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                  &lt;/span&gt;listen-on port 53 {&lt;span class=&quot;Apple-style-span&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;127.0.0.1; 192.168.0.1; &lt;/span&gt;};&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                  &lt;/span&gt;directory &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;/var/named&quot;;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                  &lt;/span&gt;dump-file &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;/var/named/data/cache_dump.db&quot;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;statistics-file &quot;/var/named/data/named_stats.txt&quot;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;memstatistics-file &quot;/var/named/data/named_mem_stats.txt&quot;;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                  &lt;/span&gt;allow-query     { &lt;span class=&quot;Apple-style-span&quot;&gt;localhost; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;92.168.0.0/24; &lt;/span&gt; };&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                  &lt;/span&gt;allow-query-cache { &lt;span class=&quot;Apple-style-span&quot;&gt;localhost; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.0/24;&lt;/span&gt;  };&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;logging {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;channel default_debug {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;file &quot;data/named.run&quot;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;severity dynamic;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;};&lt;/div&gt;&lt;div&gt;};&lt;/div&gt;&lt;div&gt;view localhost_resolver {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                             &lt;/span&gt;match-clients &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;   { localhost; };&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                             &lt;/span&gt;match-destinations { localhost; };&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                             &lt;/span&gt;recursion yes;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                             &lt;/span&gt;include &quot;/etc/named.rfc1912.zones&quot;;&lt;/div&gt;&lt;div&gt;};&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;view chop_network {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;match-clients &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;   { &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.0/24; &lt;/span&gt;};&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;match-destinations { &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.0/24; &lt;/span&gt;};&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;recursion yes;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;forwarders {&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: lime;&quot;&gt; 8.8.8.8; 8.8.4.4; &lt;/span&gt;};&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;forward only;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;include &quot;/etc/named.rfc1912.zones&quot;;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;zone &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;example.com&lt;/span&gt;&quot; IN {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;type master;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;file &quot;&lt;span class=&quot;Apple-style-span&quot;&gt;/etc/&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;example.zone&lt;/span&gt;&quot;;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;allow-update { none; };&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                      &lt;/span&gt;};&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;};&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Думаю, что поменять вы уже и так догадались (да-да ip адреса и названия зон).&lt;/div&gt;&lt;div&gt;После чего нам необходимо создать файл описания зоны example.com&lt;/div&gt;&lt;div&gt;touch example.zone&lt;/div&gt;&lt;div&gt;ну и копипастим туда примерно это:&lt;/div&gt;&lt;div&gt;$TTL    86400&lt;/div&gt;&lt;div&gt;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN SOA &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;example.com. root.example.com.&lt;/span&gt; (&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                                                                &lt;/span&gt;100     ; serial&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                                                                &lt;/span&gt;1H      ; refresh&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                                                                &lt;/span&gt;1M      ; retry&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                                                                &lt;/span&gt;1W      ; expiry&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;                                                                                &lt;/span&gt;1D)     ; minimum&lt;/div&gt;&lt;div&gt;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN NS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&amp;nbsp;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;ns1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN MX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;mail &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IN A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;WWW &amp;nbsp; IN A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;192.168.0.1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;ну и потом конечно создаем симлинк (мягкую ссылку) на этот файлик&lt;/div&gt;&lt;div&gt;ln -s /var/named/chroot/etc/example.zone /etc/example.zone&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Ну собственно вот и все далее: &lt;/div&gt;&lt;div&gt;service named start&lt;/div&gt;&lt;div&gt;chkconfig named on&lt;/div&gt;&lt;div&gt;Удачи!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/4708557105598756295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/4708557105598756295'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/10/binnd-9.html' title='Bind 9'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd8Nq5uwzbrH20Qz0FZ_vwMi09NsIlXRpryRskvtHmKlOKEUssN5N848zK_7501GgOyQ5ZnqAk1bhjmznHUvtbZom3XEXvOwUFXY1DX6T52RiLj1XMMp4HbKLFOmOB-wruZUnvcsTmh-qT/s72-c/n249875754014_335.jpg" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-3268147164711818883</id><published>2010-06-29T13:33:00.013+04:00</published><updated>2013-03-30T23:00:06.624+04:00</updated><title type='text'>Squid</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwJNY9fdpYjCifdTUkDKVW8eoPpGLSCsQX7nyXy43ZBDY4mnUKxpDI_p01mBNZ3cE5WW8LvTgwS_QefF7I5dpFOXkm5XYrQ4iioE4WHaDfRr12UrKf8WYouK-8MjffW_TvOUNehpx5Jhgz/s1600/Squid1.png&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5488129714345821746&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwJNY9fdpYjCifdTUkDKVW8eoPpGLSCsQX7nyXy43ZBDY4mnUKxpDI_p01mBNZ3cE5WW8LvTgwS_QefF7I5dpFOXkm5XYrQ4iioE4WHaDfRr12UrKf8WYouK-8MjffW_TvOUNehpx5Jhgz/s200/Squid1.png&quot; style=&quot;cursor: hand; cursor: pointer; float: left; height: 80px; margin: 0 10px 10px 0; width: 120px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
Ну а сегодня, в качестве главного блюда,  у нас прокси сервер &lt;a href=&quot;http://www.squid-cache.org/&quot;&gt;Squid&lt;/a&gt; (кальмар).&lt;/div&gt;
&lt;div&gt;
Ну что тут сказать о сквиде можно написать не просто статью а наверно даже целую книгу.&lt;/div&gt;
&lt;div&gt;
Это один из самых популярных http и ftp прокси серверов на данный момент, и в общем-то он не зря пользуется такой славой, ведь по возможностям скорости работы и надежности ему очень сложно найти замену.&lt;/div&gt;
&lt;div&gt;
Для начала нам необходимо понять что такое &lt;a href=&quot;http://ru.wikipedia.org/wiki/ACL&quot;&gt;ACL&lt;/a&gt;, для тех же кто не понял с первого раза я объясню на пальцах что это такое в конце поста.&lt;/div&gt;
&lt;div&gt;
И так без долгих разговоров приведу пример простенького конфига:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
# какой адресс и порт слушает&lt;/div&gt;
&lt;div&gt;
http_port 192.168.0.1:3128&lt;/div&gt;
&lt;div&gt;
icp_port 0&lt;/div&gt;
&lt;div&gt;
#видимое имя&lt;/div&gt;
&lt;div&gt;
visible_hostname proxy&lt;/div&gt;
&lt;div&gt;
# не кэшировать скрипты&lt;/div&gt;
&lt;div&gt;
acl QUERY urlpath_regex cgi-bin/?&lt;/div&gt;
&lt;div&gt;
no_cache deny QUERY&lt;/div&gt;
&lt;div&gt;
# объем оперативки который кушает&lt;/div&gt;
&lt;div&gt;
cache_mem 1024 MB&lt;/div&gt;
&lt;div&gt;
# путь до кэша&lt;/div&gt;
&lt;div&gt;
cache_dir ufs /var/spool/squid 20000 16 256&lt;/div&gt;
&lt;div&gt;
# логи кэша&lt;/div&gt;
&lt;div&gt;
cache_access_log /var/log/squid/access.log&lt;/div&gt;
&lt;div&gt;
cache_log /var/log/squid/cache.log&lt;/div&gt;
&lt;div&gt;
cache_store_log /var/log/squid/store.log&lt;/div&gt;
&lt;div&gt;
logfile_rotate 0&lt;/div&gt;
&lt;div&gt;
# фтп&lt;/div&gt;
&lt;div&gt;
ftp_user anonymous@&lt;/div&gt;
&lt;div&gt;
ftp_list_width 32&lt;/div&gt;
&lt;div&gt;
ftp_passive on&lt;/div&gt;
&lt;div&gt;
ftp_sanitycheck on&lt;/div&gt;
&lt;div&gt;
#днс&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
# ACL просто группы и порты&lt;/div&gt;
&lt;div&gt;
acl server src 192.168.0.1/32&lt;/div&gt;
&lt;div&gt;
acl users src 192.168.0.2-192.168.0.200/32&lt;/div&gt;
&lt;div&gt;
acl manager proto cache_object&lt;/div&gt;
&lt;div&gt;
acl localhost src 127.0.0.1/32&lt;/div&gt;
&lt;div&gt;
acl SSL_ports port 443 563&lt;/div&gt;
&lt;div&gt;
acl Safe_ports port 80&lt;/div&gt;
&lt;div&gt;
acl Safe_ports port 21&lt;/div&gt;
&lt;div&gt;
acl Safe_ports port 443 563&lt;/div&gt;
&lt;div&gt;
acl CONNECT method CONNECT&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
# разрешаем доступ для асиэлок&lt;/div&gt;
&lt;div&gt;
http_access allow server&lt;/div&gt;
&lt;div&gt;
http_access allow users&lt;/div&gt;
&lt;div&gt;
http_access deny !Safe_ports&lt;/div&gt;
&lt;div&gt;
http_access deny all&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
#Запрещаем ICP-доступ всем&lt;/div&gt;
&lt;div&gt;
icp_access deny all&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
# редиректор у нас режик&lt;/div&gt;
&lt;div&gt;
redirect_program /usr/local/rejik3/redirector /usr/local/rejik3/redirector.conf&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Вы наверняка обратили внимание на последнюю строчку.&lt;/div&gt;
&lt;div&gt;
Параметр redirect_program  указывает на внешнюю программу (редиректор), которая отвечает за легитимность запросов.&lt;/div&gt;
&lt;div&gt;
Что такое режик, как его установить и использовать можно прочитать &lt;a href=&quot;http://www.rejik.ru/&quot;&gt;здесь&lt;/a&gt;, я же скажу что это довольно быстрый и легкий в настройке редиректор.&lt;/div&gt;
&lt;div&gt;
Ну и как обещал немного о ACL. В контексте сквида ACL - это просто списки. В списках этих могут содержаться например ваши пользователи или запрещенные сайты или например ip адреса  машин с которых имеется доступ к web.  Синтаксис очень простой:&lt;/div&gt;
&lt;div&gt;
acl &quot;название списка&quot; &quot;его тип&quot;     &quot;сам список&quot;                                      Например:&lt;/div&gt;
&lt;div&gt;
acl  my_local_user       src                  192.168.0.25/32 или&lt;/div&gt;
&lt;div&gt;
acl  banned_site           dstdomain      vkontakte.ru&lt;/div&gt;
&lt;div&gt;
Сами по себе ACLи не разрешают и не запрещают, они просто группируют объекты по какому либо признаку. А вот запрещает или разрешает параметр http_access:&lt;/div&gt;
&lt;div&gt;
http_access allow my_local_user&lt;/div&gt;
&lt;div&gt;
http_access deny banned_site&lt;/div&gt;
&lt;div&gt;
http_access deny all&lt;/div&gt;
&lt;div&gt;
Соответственно работают ACL до первого соответствия, с верху в низ. Так например если вы выше по тексту запретили какому то пользователю доступ с сайту (например к google)&lt;/div&gt;
&lt;div&gt;
а потом разрешили этот сайт всем то доступ к нему будут иметь все, кроме этого пользователя.&lt;/div&gt;
&lt;div&gt;
Если мы хотим чтобы сквид работал в режиме прозрачного прокси (когда настраойка браузера не требуется а прокси работает так словно его и нет{на самом деле то он есть и логи ведутся :) }) то в строке http_port 192.168.0.1:3128 надо дописать параметр transparent вот так :&lt;/div&gt;
&lt;div&gt;
http_port 192.168.0.1:3128 transparent&lt;/div&gt;
&lt;div&gt;
ну и соответственно настроить iptables (как это делается смотри соответствующий пост).&lt;/div&gt;
&lt;div&gt;
Теперь немного о логах и о том что с ними делать - ответ прост: обрабатывать. Сделать это можно например с помощью утилиты &lt;a href=&quot;http://sarg.sourceforge.net/sarg.php&quot;&gt;SARG&lt;/a&gt; или &lt;a href=&quot;http://giannis.stoilis.gr/software/mysar/&quot;&gt;Mysar&lt;/a&gt;&amp;nbsp;или lightsquid.&lt;/div&gt;
&lt;div&gt;
Что касается запуска сквида, то первый запуск необходимо выполнять следующим образом:&lt;/div&gt;
&lt;div&gt;
squid -z (этой командой сквид создаст директории необходимые ему для хранения кэша).&lt;/div&gt;
&lt;div&gt;
Ну вот вроде и все, конфиг что я привел на самом деле очень просто, так что у вас не должно возникнуть особых трудностей.&lt;/div&gt;
&lt;div&gt;
P.S. Конфиг сквида сам по себе очень неплохо документирован и там есть очень многое, так что RTFM. :)&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3268147164711818883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3268147164711818883'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/squid.html' title='Squid'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwJNY9fdpYjCifdTUkDKVW8eoPpGLSCsQX7nyXy43ZBDY4mnUKxpDI_p01mBNZ3cE5WW8LvTgwS_QefF7I5dpFOXkm5XYrQ4iioE4WHaDfRr12UrKf8WYouK-8MjffW_TvOUNehpx5Jhgz/s72-c/Squid1.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-4340806829666589656</id><published>2010-06-27T03:11:00.004+04:00</published><updated>2010-06-29T13:53:21.789+04:00</updated><title type='text'>Samba pdc</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTtE4TwuVLBiuhjazJO-iwwE_qHYzKL_kxOPnUBZ1pZILoziGyqsG4PFunOoqopwi0RMinOXeLI5x1aac0vjMQjSnA-Fv83aZM3hHLHz5k-bU3nTCUVyOo0mhhXfaUfWKDlmwCOtldbE9E/s1600/120px-Samba.png&quot;&gt;&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 120px; height: 57px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTtE4TwuVLBiuhjazJO-iwwE_qHYzKL_kxOPnUBZ1pZILoziGyqsG4PFunOoqopwi0RMinOXeLI5x1aac0vjMQjSnA-Fv83aZM3hHLHz5k-bU3nTCUVyOo0mhhXfaUfWKDlmwCOtldbE9E/s200/120px-Samba.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5488130585467552322&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;На основе &lt;a href=&quot;http://www.opennet.ru/base/net/samba_pdc_slackware.txt.html&quot;&gt;этой статьи&lt;/a&gt; я сделал небольшой мануал для Centos.&lt;/div&gt;&lt;div&gt;Начиная с версии Centos 5.5  в дистрибутиве появился пакет под названием samba3x, его основное отличие от обычного пакета samba заключается в версии 3.3.8 против 3.0.3 (ну и естественно в домен самбы 3.3 &lt;a href=&quot;http://wiki.samba.org/index.php/Windows7&quot;&gt;может входить windows7&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;Смысла ставить обычную самбу я не вижу так что:&lt;/div&gt;&lt;div&gt;yum install samba3x samba3x-common&lt;/div&gt;&lt;div&gt;После того как она поставится:&lt;/div&gt;&lt;div&gt;mv /etc/samba/smb.conf /etc/samba/smb.conf.bak&lt;/div&gt;&lt;div&gt;touch /etc/samba/smb.conf&lt;/div&gt;&lt;div&gt;mcedit /etc/samba/smb.conf&lt;/div&gt;&lt;div&gt;И вставляем в него примерно следущее:&lt;/div&gt;&lt;div&gt;[global]&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;display charset = cp1251&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;delete user from group script = /usr/bin/gpasswd -d %u %g&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;time server = yes&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;hosts allow = 192.168.0. 127.0.0.&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;с каких ip разрешено подключаться ксамбе&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;netbios name = pdc&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;printing = cups&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;logon script = %G.bat&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;dos charset = cp1251&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;local master = yes&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;workgroup = example.loc&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;название нашего домена&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;os level = 255&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;printcap name = cups&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;add machine script = /usr/sbin/useradd -g nt_workstations -s /bin/false -d /dev/null %u&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;delete user script = /usr/sbin/userdel -r %u&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;max log size = 50&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;log level = 1&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;log file = /var/log/samba/workstations/%m.log&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;load printers = yes&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;add group script = /usr/sbin/groupadd %g&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;delete group script = /usr/sbin/groupdel %g&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;add user to group script = /usr/bin/gpasswd -a %u %g&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;logon drive = &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;domain master = yes&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;keepalive = 20&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;passdb backend = tdbsam&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;logon home = &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;wins support = true&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;server string = DOMAIN SERVER&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;password server = 127.0.0.1&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;logon path = &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;add user script = /usr/sbin/useradd -m %u&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;set primary group script = /usr/sbin/usermod -g %g %u&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;unix charset = utf8&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;domain logons = yes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[printers]&lt;/div&gt;&lt;div&gt;        comment = All printers&lt;/div&gt;&lt;div&gt;        path = /var/spool/samba&lt;/div&gt;&lt;div&gt;        public = yes&lt;/div&gt;&lt;div&gt;        printable = yes&lt;/div&gt;&lt;div&gt;        guest ok = yes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[homes]&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;browseable = no&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;comment = Home Directories&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;veto files = /*autorun*/&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;файлы с какими названиями нельзя создавать (/*autorun*/  -- чтобы не плодились вирусняки)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;writable = yes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[netlogon]&lt;/div&gt;&lt;div&gt;        path = /srv/netlogon&lt;/div&gt;&lt;div&gt;        read only = yes&lt;/div&gt;&lt;div&gt;        browseable = no&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[public]&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;create mask = 0002&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;с какой маской создавать файлы&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;directory mask = 0002&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;тоже маска но для директорий&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;writable = yes&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;path = /srv/Public&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;путь к шаре&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;force group = users&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;от имени какой группы создавать файлы и папки&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;create mode = 775&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;права на создаваемые файлы&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;directory mode = 775&lt;/div&gt;&lt;div&gt;#&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;права на создаваемые директории&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space:pre&quot;&gt; &lt;/span&gt;veto files = /*autorun*/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Создадим недостающие директории&lt;/div&gt;&lt;div&gt;mkdir -p /srv/{netlogon,Public}&lt;/div&gt;&lt;div&gt;Создадим батнички&lt;/div&gt;&lt;div&gt;vim --cmd &quot;edit ++enc=cp1251 ++ff=dos&quot; -- /srv/netlogon/users.bat&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Для пыонэров :-)&lt;/div&gt;&lt;div&gt;net time \\PDC /set /yes&lt;/div&gt;&lt;div&gt;net use x: \\PDC\homes&lt;/div&gt;&lt;div&gt;net use y: \\PDC\public&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Выставим права:&lt;/div&gt;&lt;div&gt;chgrp -R users /srv/Public&lt;/div&gt;&lt;div&gt;chmod -R g+w /srv/Public&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Создадим самбового рута&lt;/div&gt;&lt;div&gt;smbpasswd -a root&lt;/div&gt;&lt;div&gt;Проверяем конфиг&lt;/div&gt;&lt;div&gt;testparm&lt;/div&gt;&lt;div&gt;Стартуем самбу&lt;/div&gt;&lt;div&gt;service smb start&lt;/div&gt;&lt;div&gt;service nmb start&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Создаем группы&lt;/div&gt;&lt;div&gt;groupadd nt_workstations&lt;/div&gt;&lt;div&gt;groupadd nt_admins&lt;/div&gt;&lt;div&gt;Сопоставляем созданные группы:&lt;/div&gt;&lt;div&gt;Гости&lt;/div&gt;&lt;div&gt;net groupmap add rid=514 ntgroup=&quot;Domain Guests&quot; unixgroup=nobody&lt;/div&gt;&lt;div&gt;Пользователи&lt;/div&gt;&lt;div&gt;net groupmap add rid=513 ntgroup=&quot;Domain Users&quot; unixgroup=users&lt;/div&gt;&lt;div&gt;Windows станции&lt;/div&gt;&lt;div&gt;net groupmap add rid=515 ntgroup=&quot;Domain Computers&quot; unixgroup=nt_workstations&lt;/div&gt;&lt;div&gt;Администраторы&lt;/div&gt;&lt;div&gt;net groupmap add rid=512 ntgroup=&quot;Domain Admins&quot; unixgroup=nt_admins&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Создаем администратора домена (master)&lt;/div&gt;&lt;div&gt;useradd -m -c &quot;Admin&quot; -G nt_admins -g users master&lt;/div&gt;&lt;div&gt;smbpasswd -a master&lt;/div&gt;&lt;div&gt;Ну и естественно даем ему необходимые права (все одной строкой)&lt;/div&gt;&lt;div&gt;######################################################&lt;/div&gt;&lt;div&gt;net rpc rights grant &quot;Domain Admins&quot; SeMachineAccountPrivilege SeTakeOwnershipPrivilege SeBackupPrivilege SeRestorePrivilege SeRemoteShutdownPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege SeDiskOperatorPrivilege -U&lt;/div&gt;&lt;div&gt;######################################################&lt;/div&gt;&lt;div&gt;Цепляемся в наш же домен:&lt;/div&gt;&lt;div&gt;net rpc join -Umaster&lt;/div&gt;&lt;div&gt;Юзверь заводится до безобразия просто:&lt;/div&gt;&lt;div&gt;useradd -g users vasya&lt;/div&gt;&lt;div&gt;#после useradd -g идет первичная группа пользоателя (смотри ссылку в начале поста)&lt;/div&gt;&lt;div&gt;net rpc user add vasya&lt;/div&gt;&lt;div&gt;smbpasswd vasya&lt;/div&gt;&lt;div&gt;ВСЕ.&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/4340806829666589656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/4340806829666589656'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/samba-pdc.html' title='Samba pdc'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTtE4TwuVLBiuhjazJO-iwwE_qHYzKL_kxOPnUBZ1pZILoziGyqsG4PFunOoqopwi0RMinOXeLI5x1aac0vjMQjSnA-Fv83aZM3hHLHz5k-bU3nTCUVyOo0mhhXfaUfWKDlmwCOtldbE9E/s72-c/120px-Samba.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-3481246786364105187</id><published>2010-06-27T01:31:00.003+04:00</published><updated>2010-06-27T01:35:26.140+04:00</updated><title type='text'>Настройка sysctl.conf</title><content type='html'>&lt;p&gt;Взято отсюда &lt;a href=&quot;http://debian.telenet.ru&quot;&gt;http://debian.telenet.ru&lt;/a&gt;&lt;br /&gt;Немного информации о настройки не маловажного файла &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt;:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;table class=&quot;inline&quot; border=&quot;1&quot;&gt;&lt;tbody&gt; &lt;/tbody&gt;&lt;tbody&gt;&lt;tr class=&quot;row0&quot;&gt;  &lt;th class=&quot;col0&quot;&gt;Функция &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Назначение &lt;/th&gt; &lt;/tr&gt; &lt;tr class=&quot;row1&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.default.forwarding=1&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включение форвардинга пакетов. Иными словами, необходимо разрешить ядру операционной системы осущетсвлять проброс трафика с одного интерфейса на другой. &lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row2&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;fs.file-max = 64000&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Максимальное значение открытых файлов. Что бы его узнать, выполните команду cat /proc/sys/fs/file-max &lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row3&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.rp_filter = 1&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная сообщает ядру о необходимости фильтрации пакетов по их исходящему адресу.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row4&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;kernel.sysrq = 0&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Отключается комбинация клавиш sysrq, которая используется при крахе системы.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row5&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.default.rp_filter=1&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Фильтр обратного пути,  защита от спуфинга (подмен адресов)&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row6&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.accept_source_route = 0&lt;/strong&gt; &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Маршрутизация от источника (source routing) позволяет отправителю определить путь, по которому пакет должен пройти по сети Internet, чтобы достигнуть пункта назначения. Это очень удобно для изучения и отладки работы сети, но нарушитель получает возможность подмены адресов компьютеров локальной сети. 0 означает, что маршрутизация отключена, 1 - наоборот.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row7&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_syncookies=1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает/запрещает передачу так называемых syncookies вызывающему хосту в случае переполнения очереди SYN-пакетов для заданного сокета. Когда в систему поступает слишком много запросов на соединение, то очередь может переполниться и тогда запускается передача syncookies в ответ на каждый SYN-запрос. Эта переменная используется для предотвращения syn-flood атак. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Эта функция будет работать только в том случае, если ядро собрано с опцией CONFIG_SYN_COOKIES. (прим. перев.) В прошлом было много дискуссий по поводу проблем и недостатков, связанных с syncookies. Лично я рассматриваю эту возможность как достаточно удобную и безопасную. Однако, в некоторых случаях, использование этой опции может представлять некоторую угрозу, см. ниже. Опция tcp_syncookies подразумевает, что на системах с высокой нагрузкой новые соединения будут устаналиваться без таких «фишек», как ECN и SACK. Если передача syncookies срабатывет при невысоких нагрузках, то вам следует подкорректировать параметр, задающий длину очереди. Не следует использовать эту возможность на системах с высокой нагрузкой. Если в системный журнал поступают предупреждения о syn flood для вполне законных соединений, то можете попробовать подстроить переменные tcp_max_syn_backlog, tcp_synack_retries и tcp_abort_on_overflow.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row8&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ip_default_ttl = 64&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Устанавливает значение по-умолчанию для величины Time To Live исходящих пакетов. Это число определяет продолжительность «жизни» пакета в Internet. Каждый раз, когда пакет попадает на очередной роутер, брандмауэр и т.п., величина TTL пакета уменьшается на 1. Значение по-умолчанию – 64. Это достаточно приемлемое значение. Очень трудно представить себе ситуацию, когда это число оказалось бы недостаточным. Переменная принимает целое число без знака в диапазоне от 0 до 255 включительно, однако, значение 255 слишком велико, а если поставить 0 – то вы вообще лишитесь выхода в сеть. Число 64 достаточно хорошее, если вы не пытаетесь установить соединение с компьютером, отстоящим от вас на значительном растоянии, измеряемом в «переходах» (hops). Тогда этой вличины TTL может и не хватить. Однако, я в своей практике еще не встречался с компьютерами, отстоящими от меня более чем на 30 «переходов» (hops) и я не думаю, что вам придется увеличивать значение этой переменной. Увеличение TTL пакета до 255 может иметь свои негативные последствия. Если представить себе, что где-то произошел сбой в 2-х маршрутизаторах и пакет «зациклился» между ними, тогда пакет начнет «бегать» туда-сюда между маршрутизаторами, поглощая пропускную способность канала, до тех пор, пока TTL пакета не истечет. Как правило, величину TTL не устанавливают больше 100.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row9&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ip_dynaddr = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная используется для разрешения некоторых проблем, связанных с динамической адресацией. Позволяет демону diald одновременно устанавливать соединение и изменять исходящий адрес в пакетах (и сокетах для локальных процессов). Эта возможность была реализованв для поддержки TCP по коммутируемым соединениям и соединениям с маскарадингом (masqueradig). Эта опция позволяет «маскарадить» исходящий адрес пакета при изменении динамического IP-адреса.В переменную можно записать одно из 3-х значений: 0, 1 или 2. (0 – опция выключена, это значение по-умолчанию.    1 – опция включена.) Любое другое значение, отличающееся от 0 и 1 подразумевает включение этой опции  в «многословном» (verbose) режиме, что приводит к записи в системный журнал отладочных сообщений.     Что происходит, если изменяется адрес исходящего интерфейса при включенной опции ip_dynaddr: Исходящий адрес пакета и сокета изменяется ПРИ ПОВТОРНОЙ ПЕРЕДАЧЕ, когда он находится в состоянии SYN_SENT. Это касается локальных процессов. Для транзитных пакетов – исходящий адрес пакета изменяется на выходе, когда внутренний хост выполняет ПОВТОРНУЮ ПЕРЕДАЧУ, пока не будет принят внешний пакет. Эта опция особенно полезна для случаев автодозвона, когда в момент установления связи исходящий адрес еще не известен. Любой запрос на соединение заставляет diald «поднять» исходящий интерфейс, после чего пакеты отправляются через него. Это означает, что нет необходимости сначала выдавать запрос который «поднимет» исходящий интерфейс, а затем выдавать «реальный» запрос на соединение, вместо этого мы просто устанавливаем соединение.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row10&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ip_local_port_range = 32768     61000&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Содержит два целых числа, которые определяют диапазон локальных портов, которые используются в клиентских соединениях, т.е. для исходящих соединений, которые связывают нашу систему с некоторым узлом сети, где мы выступаем в качестве клиента. Первое число задает нижнюю границу диапазона, второе – верхнюю. Значения по-умолчанию зависят от имеющегося объема ОЗУ. Если установлено более чем 128 Мб, то нижняя граница будет 32768, а верхняя – 61000. При меньшем объеме ОЗУ нижняя граница будет 1024 а верхняя – 4999 или даже меньше. Этот диапазон определяет количество активных соединений, которые могут быть запущены одновременно, с другой системой, которая не поддерживает TCP-расширение timestamp. Диапазона 1024-4999 вполне достаточно для установки до 2000 соединений в секунду с системами, не поддерживающими timestamp. Проще говоря, этого вполне достаточно для большинства применений.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row11&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ip_no_pmtu_disc = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Переменная ip_no_pmtu_disc запрещает поиск PMTU (от англ. Path Maximum Transfer Unit – Максимальный Размер Пакета для выбранного Пути). Для большинства случаев лучше установить в эту переменную значение FALSE, или 0 (т.е. система будет пытаться определить максимальный размер пакета, при котором не потребуется выполнять их фрагментацию, для передачи на заданный хост). Но иногда, в отдельных случаях, такое поведение системы может приводить к «срывам» соединений. Если у вас возникают такие проблемы, то вам следует попробовать отключить эту опцию (т.е. записать в переменную число 1) и установить нужное значение MTU. Хочу обратить ваше внимание на то, что MTU и PMTU – это не одно и то же! MTU – (от англ. Maximum Transfer Unit – максимальный размер пакета) определяет максимальный размер пакета для наших сетевых интерфейсов, но не для сетевых интерфейсов на другом конце. PMTU – опция, которая заставляет систему вычислять максимальный размер пакета, при котором не потребуется фрагментация пакетов, для маршрута к заданному хосту, включая все промежуточные переходы. Значение по-умолчанию – FALSE (0), т.е. функция определения разрешена. Если записать число 1 в эту переменную, то функция определения PMTU будет запрещена. Переменная ip_no_pmtu_disc может принимать значение 0 или 1.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row12&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ip_nonlocal_bind = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Установка этой переменной позволяет отдельным локальным процессам выступать от имени внешнего (чужого) IP адреса. Это может оказаться полезным в некоторых случаях, когда необходимо «прослушивать» внешние (чужие) IP адреса, например – сниффинг чужого траффика. Однако, эта опция может оказывать отрицательное влияние на работоспособность отдельных приложений. Эта переменная может иметь два значения – 0 или 1. Если установлено значение 0, то опция отключена, 1 – включена. Значение по-умолчанию – 0.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row13&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ipfrag_low_thresh = 196608&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная задает максимальный объем памяти, выделяемый под очередь фрагментированных пакетов. Когда длина очереди достигает этого порога, то обработчик фрагментов будет отвергать все фрагментированные пакеты до тех пор, пока длина очереди не уменьшится до значения переменной ipfrag_low_thresh. Это означает, что все отвергнутые фрагментированные пакеты должны быть повторно переданы узлом-отправителем. Пакеты фрагментируются в том случае, если их размер слишком велик, чтобы быть переданными по данному каналу. Узел-отправитель, в этом случае, «режет» пакеты на более мелкие части и затем передает их одну за другой. На узле-получателе эти фрагменты опять собираются в полноценный пакет. Примечательно, что идея фрагментации пакетов, сама по себе, вещь замечательная, но, к сожалению, может быть использована в весьма неблаговидных целях. Переменная содержит целое число в диапазоне 0 .. 2147483647 и означает верхний порог длины очереди фрагментов в байтах. Значение по-умолчанию – 262144 байт, или 256 Кб. Этого количества, как правило, вполне достаточно даже для самых крайних случаев.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row14&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ipfrag_time = 30&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная определяет максимальное время «хранения» фрагментов в секундах. Это относится только к тем фрагментам, которые пока невозможно собрать, поскольку собранные пакеты к этому сроку скорее всего уже будут переданы дальше (на следующий уровень или в сеть). Переменная принимает целое значение и определяет предельное время хранения фрагментов в секундах. Если записать туда число 5, то это будет означать 5 секунд.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row15&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.inet_peer_gc_maxtime = 120&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная inet_peer_gc_maxtime определяет частоту «сборки мусора» при незначительном объеме данных. Эта переменная имеет то же предназначение, что и inet_peer_gc_mintime, только выбор, какой переменной пользоваться, производится в зависимости от величины нагрузки на систему. Переменная принимает целое число, измеряемое в «тиках». Значение по-умолчанию – 120 «тиков», чего вполне достаточно для большинства серверов и рабочих станций.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row16&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.inet_peer_gc_mintime = 10&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная inet_peer_gc_maxtime определяет частоту «сборки мусора» при незначительном объеме данных. Эта переменная имеет то же предназначение, что и inet_peer_gc_mintime, только выбор, какой переменной пользоваться, производится в зависимости от величины нагрузки на систему. Переменная принимает целое число, измеряемое в «тиках». Значение по-умолчанию – 120 «тиков», чего вполне достаточно для большинства серверов и рабочих станций.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row17&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.inet_peer_maxttl = 600&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Это максимальное время хранения записей. При незначительных нагрузках на систему неиспользуемые записи будут удаляться через данный промежуток времени.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row18&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.inet_peer_minttl = 120&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет минимальное время хранения данных в «inet peer storage». Это время должно быть достаточно большим, чтобы перекрыть время сборки фрагментов на противоположной стороне. Минимальное время хранения является гарантией того, что размер пула будет меньше чем величина inet_peer_threshold.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row19&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.inet_peer_threshold = 65664&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет минимальное время хранения данных в «inet peer storage». Это время должно быть достаточно большим, чтобы перекрыть время сборки фрагментов на противоположной стороне. Минимальное время хранения является гарантией того, что размер пула будет меньше чем величина inet_peer_threshold.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row20&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_abort_on_overflow = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная заставляет ядро отвергать новые соединения, если их поступает такое количество, что система не в состоянии справиться с таким потоком. Что это означает? Допустим, что на систему обрушивается шквал запросов на соединение, тогда они могут быть просто отвергнуты, если переменная будет включена, поскольку система не в состоянии обработать их все. Если переменная не установлена, то система будет пытаться обслужить все запросы. Переменная может иметь два значение – 0(выключено) или 1(включено). Значение по-умолчанию – 0. Включение этой опции следует расценивать как крайнюю меру. Перед этим необходимо попытаться поднять производительность сервисов.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row21&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_adv_win_scale = 2&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная влияет на вычисление объема памяти в буфере сокета, выделяемой под размер TCP-окна и под буфер приложения. Если величина tcp_adv_win_scale отрицательная, то для вычисления размера используется следующее выражение: &lt;a href=&quot;http://debian.telenet.ru/_detail/doc/adv-window-scale-neg-eq.jpg?id=doc%3Asysctl.conf&quot; class=&quot;media&quot; title=&quot;doc:adv-window-scale-neg-eq.jpg&quot;&gt;&lt;img src=&quot;http://www.blogger.com/sysctl.conf%20-%20debian%20%D0%BF%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8_files/adv-window-scale-neg-eq.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Где bytes – это размер окна в байтах. Если величина tcp_adv_win_scale положительная, то для определения размера используется следующее выражение: &lt;a href=&quot;http://debian.telenet.ru/_detail/doc/adv-window-scale-pos-eq.jpg?id=doc%3Asysctl.conf&quot; class=&quot;media&quot; title=&quot;doc:adv-window-scale-pos-eq.jpg&quot;&gt;&lt;img src=&quot;http://www.blogger.com/sysctl.conf%20-%20debian%20%D0%BF%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8_files/adv-window-scale-pos-eq.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Переменная принимает целое значение. Значение по-умолчанию – 2, т.е. под буфер приложения отводится 1/4 часть объема, определяемого переменной tcp_rmem.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row22&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_app_win = 31&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная определяет количество байт, резервируемых под TCP-окно в приемном буфере сокета. Выражение, согласно которому делается расчет, выглядит следующим образом: &lt;a href=&quot;http://debian.telenet.ru/_detail/doc/app-window-eq.jpg?id=doc%3Asysctl.conf&quot; class=&quot;media&quot; title=&quot;doc:app-window-eq.jpg&quot;&gt;&lt;img src=&quot;http://www.blogger.com/sysctl.conf%20-%20debian%20%D0%BF%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8_files/app-window-eq.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Как видно из выражения – чем больше значение переменной, тем меньше будет размер буфера окна. Исключение составляет значение 0. В этом случае резервирование не производится. Значение по-умолчанию – 31. Не изменяйте эту переменную, если вы не уверены в том, что делаете.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row23&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_dsack = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта опция необходима для выполнения передачи дублирующих SACK-пакетов (от англ. Selective ACKnowledgement – Выборочное Подтверждение Приема, прим. перев.). Техника выборочного подтверждения кратко описана в разделе, посвященном переменной tcp_sack. Детальное описание можно найти в RFC 2883. Здесь подробно описываются действия по обработке ситуаций, когда получен дубликат пакета, пришедшего ранее, или когда пакеты поступают не в той очередности. D-SACK – это расширение стандарта SACK и используется для уведомления хоста-отправителя о том, что пакет был получен дважды (т.е. продублирован). Эту информацию хост-отправитель может использовать для корректировки сетевых настроек и т.п.. Эта опция гарантирует 100%-ную обратную совместимость с устаревшими реализациями TCP, если в них техника SACK не реализована каким-либо нестандартным образом. Но это чрезвычайно редкий случай, а посему – у вас едва ли будут возникать проблемы с этим. Переменная может иметь два состояния – 1 (включено) и 0 (выключено). Значение по-умолчанию – 1 (включено). И, само собой разумеется, установка этой переменной имеет смысл только если включена переменная tcp_sack, поскольку tcp_dsack очень тесно связана с ней. В большинстве случаев разумным будет оставить переменную включенной.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row24&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_ecn = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная tcp_ecn отвечает за работу Explicit Congestion Notification (Явное Уведомление о Перегруженности) в TCP-соединениях. Используется для уведомления о возникновении «затора» на маршруте к заданному хосту или сети. Может использоваться для извещения хоста-отправителя о необходимости снизить скорость передачи пакетов через конкретный маршрутизатор или брандмауэр. Explicit Congestion Notification (ECN) детально описано в RFC 3168 - The Addition of Explicit Congestion Notification (ECN) to IP. Дополнительную информацию о ECN вы найдете в RFC 2884 - Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks. Коротко: этот документ подробно описывает как должно передаваться уведомление о перегруженности хосту-отправителю, который, в свою очередь, может выбрать другой маршрут или начать снижать скорость передачи до тех пор, пока к нему не перестанут поступать ECN-пакеты. В Интернете еще встречаются маршрутизаторы и брандмауэры, которые не пропускают пакеты с установленным флагом ECN и, если вам не повезет, то вы можете столкнуться с ними. При возникновении проблем с прохождением ECN – попробуйте отключить эту опцию. Если вам встретится подобный маршрутизатор, то можете попробовать вступить в контакт с администратором и предупредить его об имеющихся проблемах. Подробное описание проблемы и общий список аппаратуры, являющейся причиной этой неприятности, вы найдете в приложении Ссылки в пункте ECN-under-Linux Unofficial Vendor Support Page. Переменная может иметь два состояния – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row25&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_fack = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная tcp_fack ответственна за систему Forward Acknowledgement (Упреждающее Подтверждение) в Linux. Forward Acknowledgement – это специальный алгоритм, который работает поверх SACK, и предназначен для контроля «заторов». Главная идея алгоритма FACK состоит в отслеживании наибольшего номера выборочно подтвержденной последовательности как признака того, что все предыдущие не подтвержденные (выборочно) сегменты были потеряны. Это позволяет оптимизировать восстановление потерь. Однако, этот алгоритм становится неработоспособным в случае неупорядоченного потока данных, тогда он (алгоритм) автоматически отключается для данного конкретного соединения. Изначально алгоритм FACK был разработан Мэттью Матисом (Matthew Mathis) с соавторами. Документ, описывающий алгоритм, можно найти на &lt;a href=&quot;http://www.psc.edu/~mathis/&quot; class=&quot;urlextern&quot; title=&quot;http://www.psc.edu/~mathis/&quot; rel=&quot;nofollow&quot;&gt;http://www.psc.edu/~mathis/&lt;/a&gt;. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Эта опция используется только тогда, когда включена переменная tcp_sack.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row26&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_fin_timeout = 60&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная задает максимальное время пребывания сокета в состоянии FIN-WAIT-2. Используется в тех случаях, когда другая сторона по тем или иным причинам не закрыла соединение со своей стороны. Каждый сокет занимает в памяти порядка 1.5 Кб, что может привести к значительным утечкам памяти в некоторых случаях. Переменная принимает целое число. Значение по-умолчанию – 60 секунд. В ядрах серии 2.2 это значение было равно 180 секундам, но было уменьшено, поскольку иногда возникали проблемы, связанные с нехваткой памяти, на web-серверах, которые, как правило, обслуживают огромное количество подключений. За дополнительной информацией – обращайтесь к описанию переменных tcp_max_orphans и tcp_orphan_retries.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row27&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_keepalive_intvl = 75&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет интервал проверки «жизнеспособность» сокета. Это значение учитывается при подсчете времени, которое должно пройти перед тем как соединение будет разорвано. Переменная принимает целое число. Значение по-умолчанию – 75 секунд. Это достаточно высокое значение, чтобы рассматривать его как нормальное. Значения переменных tcp_keepalive_probes и tcp_keepalive_intvl могут использоваться для определения времени, через которое соединение будет разорвано. Со значениями по-умолчанию (9 попыток с интервалом 75 секунд) это займет примерно 11 минут. Попытки определения «жизнеспособности», в свою очередь, начнутся через 2 часа после того, как через данное соединение проследовал последний пакет.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row28&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_keepalive_probes = 9&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет количество попыток проверки «жизнеспособности» прежде, чем будет принято решении о разрыве соединения. Переменная принимает целое число, которое не следует устанавливать больше 50-ти. Значение по-умолчанию – 9. Это означает, что будет выполнено 9 попыток проверки соединения, чтобы убедиться в том, что соединение разорвано.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row29&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_keepalive_time = 7200&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет как часто следует проверять соединение, если оно давно не используется. Значение переменной имеет смысл только для тех сокетов, которые были созданы с флагом SO_KEEPALIVE. Переменная принимает целое число секунд. Значение по-умолчанию – 7200 секунд, или 2 часа. Не уменьшайте это число без необходимости, поскольку это может привести к увеличению излишнего трафика.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row30&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_max_orphans = 65536&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Переменная задает максимальное число «осиротевших» (не связанных ни с одним процессом) сокетов. Если это число будет превышено, то такие соединения разрываются, а в системный журнал пишется предупреждение. Это ограничение существует исключительно ради предотвращения простейших разновидностей DoS-атак. Вообще вы не должны полагаться на эту переменную! Не рекомендуется уменьшать это число. Сетевая среда может потребовать увеличение этого порога, однако, такое увеличение может привести к необходимости увеличения объема ОЗУ в системе. Прежде чем поднимать этот предел – попробуйте перенастроить сетевые сервисы на более агрессивное поведение по отношению к «осиротевшим» сокетам. Переменная принимает целое число. Значение по-умолчанию – 8192, однако оно очень сильно зависит от объема памяти в системе. Каждый «осиротевший» сокет «съедает» примерно 64 Кб памяти, которая не может быть сброшена в своп (swap). При возникновении проблем, связанных с этим ограничением – в системный журнал будет записано сообщение, подобное этому: &lt;em&gt;TCP: too many of orphaned sockets&lt;/em&gt; Это может служить поводом к тому, чтобы пересмотреть значения переменных tcp_fin_timeout или tcp_orphans_retries.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row31&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_max_syn_backlog = 1024&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная определяет максимальное время хранения SYN-запросов в памяти до момента получения третьего, завершающего установление соединения, пакета. Эта опция работает только тогда, когда включена переменная tcp_syncookies. Если сервер испытывает серьезные нагрузки, то можно попробовать немного увеличить этот параметр. Переменная принимает целое число. Значение по-умолчанию зависит от количества памяти, имеющейся в системе. Если объем памяти менее 128 Мб, то значение по-умолчанию равно 128, если больше, то значение по-умолчанию равно 1024. Если вы увеличиваете эту переменную до величины более чем 1024, то было бы неплохо изменить величину TCP_SYNQ_HSIZE и пересобрать ядро. TCP_SYNQ_HSIZE находится в файле linux/include/tcp.h. Эта величина рассчитывается по формуле: &lt;em&gt;TCP_SYNQ_HSIZE*16 ⇐ tcp_max_syn_backlog&lt;/em&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row32&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_max_tw_buckets = 180000&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Максимальное число сокетов, находящихся в состоянии TIME-WAIT одновременно. При превышении этого порога – «лишний» сокет разрушается и пишется сообщение в системный журнал. Цель этой переменной – предотвращение простейших разновидностей DoS-атак. Переменная принимает целое число. Значение по-умолчанию – 180000. На первый взгляд может показаться, что это очень много, но на самом деле это не так. Если у вас начинают возникать ошибки, связанные с этим параметром, то попробуйте увеличить его. Вам не следует уменьшать значение этой переменной. Вместо этого, если начали поступать сообщения в системный журнал, ее следует увеличить, однако, это может потребовать наращивания памяти в системе.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row33&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_mem = 196608    262144    393216&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;В этой переменной задаются 3 значения, определяющие объем памяти, который может быть использован стеком TCP. Значения измеряются в страницах памяти. Размер одной страницы зависит от аппаратуры и конфигурации ядра. Для архитектуры i386 размер одной страницы составляет 4Кб, или 4096 байт. Некоторые, более новые аппаратные реализации, имеют размер страницы равный 16, 32 или даже 64 Кб. Все три значения по-умолчанию рассчитываются во время загрузки. Первое число задает нижний порог. Ниже этого порога, стек TCP вообще никак не беспокоится об управлении памятью, используемой различными TCP сокетами. Когда объем используемой памяти достигает второго предела (числа), то TCP начинает более энергично «расталкивать» память, стремясь освободить ее как можно быстрее. Этот процесс продолжается до тех пор, пока объем использумой памяти не достигнет нижнего предела. И последнее число – максимальный объем памяти, который может использоваться для нужд TCP. Если используемый объем памяти достигнет этого порога, то TCP просто начинает «терять»пакеты и соединения до тех пор, пока объем используемой памяти не уменьшится. Эта переменная может позволить несколько увеличить пропускную способность на «толстых» каналах, если должным образом настроить переменные tcp_mem, tcp_rmem и tcp_wmem. Впрочем, переменная tcp_rmem не требует особо пристального внимания, поскольку серия ядер 2.4 имеет достаточно хорошие настройки этой переменний, а вот на другие две следует взглянуть поближе. Дополнительную информацию об этом вы найдете в руководстве TCP Tuning Guide.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row34&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_orphan_retries = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Количество попыток закрыть соединение перед тем как оно будет разорвано принудительно. Если вы администрируете http-сервер, который испытывает большие нагрузки, то стоит подумать об уменьшении этого значения. Переменная принимает целое число. Значение по-умолчанию – 7, что соответствует, примерно, от 50 секунд до 16 минут, в зависимости от величины Retransmission Timeout (RTO – Таймаут для Повторной Передачи. прим. перев.). Детальное описание RTO вы найдете в разделе «3.7. Data Communication» RFC 793 - Transmission Control Protocol. Кроме того, посмотрите описание переменной tcp_max_orphans.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row35&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_reordering = 3&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Максимальное количество пакетов, пришедших в потоке не по-порядку, прежде чем будет сделано предположение о том, что пакет был потерян где-то на маршруте. Когда делается такое предположение, то стек TCP переходит обратно в режим «slow start» (медленный старт), поскольку пакет действительно мог быть утерян из-за перегруженности сети. Кроме того, стек TCP откажется от дальнейшего использования алгоритма FACK при обмене с этим хостом. Переменная принимает целое число. Значение по-умолчанию – 3. Это достаточно хорошее значение и не следует его изменять. Если этот параметр уменьшить, то это может значительно ухудшить работу сетевой подсистемы особенно, если пакеты часто переупорядочиваются.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row36&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_retrans_collapse = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает эмуляцию ошибки протокола TCP, делая возможным сетевое взаимодействие с некоторыми устройствами, в которых реализация стека TCP имеет эту ошибку. Без ее эмуляции было бы невозможным работать с отдельными моделями принтеров. Ошибка заключается в отправке полноразмерных пакетов при повторной передаче. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Эмуляция ошибки никак не повредит взаимодействию с другими узлами сети, но при этом позволит общаться с устройствами, имеющими ошибку в реализации стека TCP. Вообще эта опция совершенно безопасна, однако, если в журнал пишутся непонятные сообщения – можете попробовать отключить ее.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row37&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_retries1 = 3&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Максимальное количество попыток повторной передачи пакетов по установленному соединению прежде, чем сообщение об ошибке будет передано сетевому уровню, в результате чего может быть выбран другой маршрут для отправки последующих пакетов. Минимальное значение этого параметра определяется в RFC ???? и равно 3. Это число является значением по-умолчанию, что соответствует интервалу времени от 3 секунд до 8 минут, в зависимости от величины Retransmission timeout (RTO). Детальное описание RTO вы найдете в разделе «3.7. Data Communication» RFC 793 - Transmission Control Protocol. Переменная принимает целое число. Значение по-умолчанию – 3. Стандарты определяют диапазон изменения этого параметра от 3 до 100.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row38&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_retries2 = 15&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Максимальное количество попыток повторной передачи пакетов, до того как соединение будет считаться разорванным. Это ограничение определено в RFC 1122 и равно 100, но обычно его уменьшают. Переменная принимает целое число. Значение по-умолчанию – 15, что соответствует примерно 13-30 минутам в зависимости от величины Retransmission timeout (RTO). При желании можете попробовать уменьшить этот параметр.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row39&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_rfc1337 = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Переменная tcp_rfc1337 является реализацией решения проблемы, описываемой в RFC 1337 - TIME-WAIT Assassination Hazards in TCP. Проблема связана с «устаревшими» дубликатами пакетов, которые могут вносить помехи во вновь устанавливаемые соединения и порождать три различные проблемы. Первая – «устаревший» дубликат пакета с данными может быть ошибочно воспринят в новом соединении, что приведет к передаче неверных данных. Вторая – соединение может быть десинхронизировано и «уйти» в ACK-цикл из-за «устаревших» дубликатов, которые порождают новые соединения (здесь автор имеет ввиду «устаревшие» дубликаты SYN-пакетов, прим. перев.). И третья, и последняя проблема – «устаревшие» дубликаты могут «проникнуть» в недавно созданное соединение и ошибочно уничтожить его. Согласно упомянутому RFC существуют три возможных решения, однако, одно из них решает эту проблему лишь частично, второе требует внесения значительных изменений в протокол TCP. Окончательное решение состоит в том, что RST-пакеты должны просто игнорироваться, пока сокет находится в состоянии TIME_WAIT. Вместе с установкой параметра Maximum Segment Life (MSL – максимальное время жизни сегмента) равным 2 мин. такой подход решает все три проблемы, описанные в RFC 1337.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row40&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_rmem = 4096  87380   4194304&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная содержит три числа, которые используются при управлении размерами приемных буферов. Первое число – минимальный размер приемного буфера, который выделяется для каждого сокета. Этот размер буфера выделяется всегда, даже при очень высоких нагрузках на систему. Значение по-умолчанию – 4096 байт, или 4 Кб. В предыдущих версиях ядра Linux это значение было 8192 байт. Это достаточно большой размер и не следует увеличивать его, иначе, при «взрывных» нагрузках на сеть, вы можете столкнуть с очень серьезными проблемами. Второе число – размер приемного буфера по-умолчанию, который выделяется для каждого сокета. Это значение перекрывает значение переменной /proc/sys/net/core/rmem_default, которая используется другими протоколами. Значение по-умолчанию – 87380 байт, или 85 Кб. Совместно с переменными tcp_adv_win_scale и tcp_app_win эта переменная используется при расчете размера TCP-окна. Это значение используется при незначительных нагрузках. Как и в случае с первым значением – не следует без особой нужды изменять этот параметр. Эта переменная может дать некоторый прирост производительности на «толстых» каналах, если достаточно корректно используется вместе с переменными tcp_mem и tcp_wmem. tcp_rmem не требует вмешательства извне, поскольку ядра серии 2.4 достаточно хорошо настраивают ее автоматически, а вот на tcp_mem и tcp_wmem можно взглянуть попристальнее. Дополнительную информацию, по настройке переменных, вы найдете в TCP Tuning Guide. Третье, и последнее, число – максимально возможный размер приемного буфера, который может быть размещен для каждого сокета. Этот параметр перекрывается переменной /proc/sys/net/core/rmem_max, если значение в ipv4 оказывается больше. Перед изменением этого параметра – вам следует сначала взглянуть на значение /proc/sys/net/core/rmem_max. Значение по-умолчанию – удвоенное значение второго параметра, т.е. – 87380 * 2 bytes, или 174760 байт (170 Кб). Как правило этот параметр не нуждается в корректировке.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row41&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_sack = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает Selective Acknowledgements (SACK – Выборочное Подтверждение), детальное описание вы найдете в RFC 2883 - An Extension to Selective Acknowledgement (SACK) Option for TCP и RFC 2883 - An Extension to Selective Acknowledgement (SACK) Option for TCP. Если эта переменная включена (установлена 1), то в TCP-заголовке будет устанавливаться SACK-флаг при передаче SYN-пакета, сообщая тем самым удаленному хосту, что наша система в состоянии обрабатывать SACK, на что удаленный хост может ответить ACK-пакетом с установленным флагом SACK. Этот режим выборочно подтверждает каждый сегмент в TCP-окне. Это особенно полезно на неустойчивых соединениях, поскольку позволяет производить повторную передачу лишь отдельных, не подтвержденных фрагментов, а не всего TCP-окна, как это диктуется более старыми стандартами. Если какой либо сегмент TCP-окна был «утерян», то приемная сторона не пришлет на него SACK-подтверждение о приеме. Отправитель, поняв это, повторит передачу «потерявшихся» сегментов. Избыточные данные сохраняются в TCP-заголовке, 40 байт на сегмент. Подтверждение каждого сегмента – это два 32-битных беззнаковых целых числа, таким образом в заголовке может разместиться подтверждение 4-х сегментов. Однако, как правило, совместно с опцией SACK используется опция timestamp, которая занимает 10 байт и поэтому в одном пакете может быть подтверждено не более 3 сегментов. Рекомендуется включать эту опцию, если вы имеете неустойчивые соединения. Однако, если вы соединены 1.5-метровым кабелем с другой машиной, то в таком случае, для достижения наивысшей скорости обмена, следует эту опцию отключить. Обычно эта опция не нужна, но лучше ее включить. Она обеспечивает 100% обратную совместимость, т.е. вы не должны испытывать никаких проблем при соединении с хостами, которые эту опцию не поддерживают. В переменную могут быть записаны два числа – 0 (выключено) и 1 (включено). Значение по-умолчанию –1 (включено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row42&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_stdurg = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает/запрещает соответствие стандарту RFC 1122. Поведение по-умолчанию соответствует стандарту использования флага URG – BSD 4.2, описанному в RFC 793. Если эта переменная включена, то возможны сбои при работе с отдельными узлами Интернета, точнее – с узлами, которые придерживаются стандарта BSD 4.2. За дополнительной информацией обращайтесь к RFC 1122 - Requirements for Internet Hosts – Communication Layers секция «4.2.2.4 Urgent Pointer: RFC 793 Section 3.1 explanation», где имеется ссылка на RFC 793 - Transmission Control Protocol. Переменная принимает два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row43&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_syn_retries = 5&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Количество попыток передачи SYN-пакета при установлении нового соединения. Переменная принимает целое число, которое не должно устанавливаться больше чем 255, поскольку каждая повторная попытка отнимает значительное время. На каждую попытку отводится примерно 30-40 секунд. Значение по-умолчанию – 5, что соответствует, примерно, 180 секундам.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row44&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_synack_retries = 5&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Количество попыток передачи SYN,ACK-пакета в ответ на SYN-запрос. Другими словами – максимальное число попыток установить пассивное TCP-соединение, инициированное другим хостом. Переменная принимает целое число, которое не должно устанавливаться больше чем 255 по тем же причинам, что и в случае с переменной tcp_syn_retries. Значение по-умолчанию – 5.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row45&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_timestamps = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает/запрещает использование временных меток (timestamps), в соответствии с RFC 1323. Если коротко, то это расширение TCP используется для расчета Round Trip Measurement (определение времени возврата) лучшим способом, нежели метод Retransmission timeout (RTO). Эта опция должна сохранять обратную совместимость в большинстве случаев, так что лучше оставить ее включенной, особенно если вы работаете в высокоскоростной сети (например LAN или 10mb Интернет). В случае низкоскоростного оединения (скажем модемное) – вы прекрасно обойдетесь и без этой опции, и будет даже лучше, если вы ее отключите. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Более подробную информацию вы найдете в секции 4 документа RFC 1323 - TCP Extensions for High Performance.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row46&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_tw_recycle = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает/запрещает быструю утилизацию сокетов, находящихся в состоянии TIME-WAIT. Если вы не уверены в своих действиях, то вам лучше не трогать эту переменную. Переменная принимает целое число (а не булевское – из моего опыта и моего понимания исходных текстов ядра следует, что описание переменной в linux/Documentation/ip-sysctl.txt содержит ошибку, если я не ошибаюсь). Значение по-умолчанию – 0. Не изменяйте эту переменную, если вы не уверены в своих действиях или не получили совет от опытных экспертов по ядру.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row47&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_window_scaling = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Разрешает/запрещает масштабирование TCP-окна, как определено в RFC 1323. В этом документе описано как производится масштабирование TCP-окна при передаче по Large Fat Pipes (LFP – «толстый» канал). При передаче TCP-пакетов по «толстым» каналам возникают существенные потери пропускной способности из-за того, что они не загружены полностью во время ожидания подтверждения о приеме предыдущего TCP-окна. Основная проблема состоит в том, что окно не может иметь размер больше, чем 2×16 байт (65 Кб). Разрешая масштабирование TCP-окна мы, тем самым, можем увеличить его размер и таким образом уменьшить потери пропускной способности. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Дополнительную информацию по этой теме вы найдете в RFC 1323 - TCP Extensions for High Performance.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row48&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.tcp_wmem = 4096  16384  4194304&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная содержит три числа, которые используются при управлении размерами буферов передачи, выделяемых для каждого сокета. Каждое из значений используется при определенных условиях. Первое значение – минимальный размер буфера передачи для каждого сокета. Системой гарантируется выделение этого пространства при открытии сокета. Обычно это значение равно 4096 байт. Второе значение – размер передающего буфера по-умолчанию. При попытке увеличить размер буфера передачи больше этого ограничения, приложение может столкнуться с «нежеланием» системы выделения большего объема памяти при тяжелых нагрузках. Это может даже привести к потере пакетов при очень высоких нагрузках. Значение по-умолчанию – 16384 байт, или 16 Кб. Будет неразумным попытаться увеличить это значение. Этот параметр перекрывается переменной /proc/sys/net/core/wmem_default, которая используется другими протоколами и, как правило, tcp_wmem должна быть меньше чем /proc/sys/net/core/wmem_default. Третье значение – максимальный размер буфера передачи для отдельного сокета. По-умолчанию – 131072 байт, или 128 Кб. Это достаточно разумное значение и в большинстве случаев вам едва ли придется корректировать его. Однако, если вам придется его увеличивать – помните о существовании переменной /proc/sys/net/core/wmem_max, которая должна быть всегда больше чем tcp_wmem. Эта переменная может дать некоторый прирост производительности на «толстых» каналах, если достаточно корректно используется вместе с переменными tcp_mem и tcp_rmem. tcp_wmem дает наибольший прирост производительности из этих трех переменных. Замечу при этом, что вы практически не получите никакого выигрыша в сетях со скоростью передачи менее 1 Гб. Дополнительную информацию, по настройке переменных, вы найдете в TCP Tuning Guide.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row49&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.icmp_echo_ignore_broadcasts = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Эта переменная очень близка по смыслу к icmp_echo_ignore_all, только в данном случае будут игнорироваться ICMP сообщения, отправленные на широковещательный или групповой адрес. Вполне очевидно, почему полезно включить этот параметр – защита от smurf атак. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row50&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.icmp_ignore_bogus_error_responses = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Отдельные маршрутизаторы, вопреки стандартам, описанным в RFC 1122, отправляют фиктивные ответы в широковещательном диапазоне. Обычно эти ошибки заносятся в системный журнал. Если вы не желаете регистрировать их, то включите этот параметр и тем самым сбережете некоторый объем дискового пространства в своей системе. Переменная может принимать два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row51&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.icmp_ratelimit = 250&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Максимальная частота генерации ICMP-пакетов с типом, указанным в icmp_ratemask (см. icmp_ratemask). Это значение задается в «тиках» и устанавливает временной интервал между ICMP-посылками. Таким образом, значение 0 означает отсутствие ограничений. Обычно 1 «тик» равен 0.01 секунды, так значение 1 в этой переменной ограничивает скорость передачи не более 100 посылок в секунду, а значение 100 – не более 1 посылки в секунду. Значение по-умолчанию – 100, что означает не более 1 ICMP посылки за интервал в 100 «тиков».&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row52&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.icmp_ratemask = 6168&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Маска ICMP типов, на которые накладывается ограничение по частоте генерации переменной icmp_ratelimit. Каждый из ICMP типов маскируется своим битом. icmp_ratemask – это битовая маска, где каждый ICMP тип представлен своим битом. Соответствие между символическим названием ICMP типа и его порядковым номером вы найдете в заголовочном файле netinet/ip_icmp.h (обычно это /usr/include/netinet/ip_icmp.h). За дополнительной информацией обращайтесь к RFC 792 - Internet Control Message Protocol. Математически маска определяется так: &lt;a href=&quot;http://debian.telenet.ru/_detail/doc/icmp_ratemask.jpg?id=doc%3Asysctl.conf&quot; class=&quot;media&quot; title=&quot;doc:icmp_ratemask.jpg&quot;&gt;&lt;img src=&quot;http://www.blogger.com/sysctl.conf%20-%20debian%20%D0%BF%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8_files/icmp_ratemask.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; где n принимает значения всех типов ICMP, которые должны быть ограничены. Например: Ограничим передачу ICMP Destination Unreachable сообщений. В /usr/include/netinet/ip_icmp.h этому типу соответствует число 3. Подсчитаем значение 2×3, что равно 8. Теперь нужно прибавить это число к имеющейся битовой маске. Допустим, что маска уже равна числу 6160 (в двоичном виде 0001100000010000), тогда результирующая маска получится: 6160 + 8 = 6168 (в двоичном виде 0001100000011000). Перед добавлением маски подобным образом убедитесь сначала, что нужный вам бит сброшен, иначе вы получите неверную маску! К примеру, если у вас маска является числом 256 и вы еще добавите число 256, то это приведет к размаскированию ICMP Echo Request и маскировке 9-го отсутствующего типа ICMP. Значение по-умолчанию – 6168 (в двоичном виде 0001100000011000), что подразумевает наложение ограничений на ICMP Destination Unreachable, ICMP Source Quench, ICMP Time Exceeded и ICMP Parameter Problem, где ICMP Destination Unreachable = 3, ICMP Source Quench = 4, ICMP Time Exceeded = 11 и ICMP Parameter Problem = 12. Таким образом, значение по-умолчанию соответствует выражению:&lt;a href=&quot;http://debian.telenet.ru/_detail/doc/icmp_ratemask_ex.jpg?id=doc%3Asysctl.conf&quot; class=&quot;media&quot; title=&quot;doc:icmp_ratemask_ex.jpg&quot;&gt;&lt;img src=&quot;http://www.blogger.com/sysctl.conf%20-%20debian%20%D0%BF%D0%BE-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8_files/icmp_ratemask_ex.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt; Злоумышленник может «заставить» некоторый маршрутизатор или хост «затопить» жертву ICMP-посылками, передаваемыми в ответ на поддельный ICMP пакет с обратным адресом жертвы. Поэтому очень важно ограничить частоту генерации отдельных видов ICMP-сообщений. На сайте &lt;a href=&quot;http://www.frozentux.net/&quot; class=&quot;urlextern&quot; title=&quot;http://www.frozentux.net&quot; rel=&quot;nofollow&quot;&gt;http://www.frozentux.net&lt;/a&gt; вы сможете найти небольшую программу ratemask, которая может оказаться полезной при создании маски для переменной icmp_ratemasks или для дешифрации существующей маски.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row53&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.igmp_max_memberships = 20&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Максимальное число групп на каждый сокет. Значение по-умолчанию – 20 и может быть изменено по мере необходимости.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row54&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.accept_redirects = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная управляет приемом ICMP-сообщений о переадресации. Сообщения ICMP Redirect … используются для уведомления маршрутизаторов или хостов о существовании лучшего маршрута движения пакетов к заданному хосту, который (маршрут) может быть быстрее или менее загружен. Переменная может иметь два значения – 0 (выключено – сообщения о переадресации игнорируются) и 1 (включено – сообщения о переадресации принимаются). Значение по-умолчанию – 1 (включено), однако я посоветовал бы отключать эту опцию, поскольку она далеко небезопасна. В подавляющем большинстве случаев необходимость в переадресации отсутствует, поэтому лучше держать эту переменную выключенной, если конечно вы на 100% не уверены в обратном.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row55&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.accept_source_route = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная разрешает/запрещает «маршрутизацию от источника». Маршрутизация от источника весьма небезопасна. Дополнительную информацию по этой темы вы сможете почерпнуть из ip-param.txt. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row56&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.arp_filter = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает связывание IP-адреса с ARP-адресом. Если эта опция включена, то ответ будет передаваться через тот интерфейс, через который поступил запрос. В принципе, было бы не плохо, если бы ответы исходили через тот же интерфейс, через который был получен запрос, однако, в отдельных случаях, это может стать причиной ошибок. Обычно включение этой опции необходимо только в том случае, если на вашем хосте производится управление распределением нагрузки между сетевыми интерфейсами. Значение по-умолчанию – 0 (выключено), поскольку эта опция идет немного вразрез с современным пониманием принципов IP-адресации. Ранее IP-адреса рассматривались как путь к некоторому устройству, в смысле аппаратуры, теперь же их следует рассматривать как отдельную службу доставки, которая должна выдавать ответы на запросы вне зависимости от того на какой интерфейс эти запросы были получены. Дополнительную информацию по данной тематике вы найдете в Guide to IP Layer Network Administration with Linux.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row57&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.bootp_relay = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная разрешает/запрещает форвардинг пакетов с исходящими адресами 0.b.c.d. Демон BOOTP relay должен перенаправлять эти пакеты на корректный адрес. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Обработка переменной bootp_relay еще не реализована. Если вы желаете предложить свою реализацию – милости просим! С этой целью можете вступить в контакт с командой разработчиков netdev mailinglist.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row58&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.log_martians = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная включает/выключает функцию журналирования всех пакетов, которые содержат неправильные (невозможные) адреса (так называемые martians – «марсианские» пакеты). Под невозможными адресами, в данном случае, следует понимать такие адреса, которые отсутствуют в таблице маршрутизации. В некоторых ситуациях эта опция позволит получить дополнительную информацию, но вы должны понимать, что эта информация не так подробна как можно было бы подумать. Основными причинами, порождающими записи в системном журнале, могут быть: невозможность переадресации; плохая классификация; ограничения на широковещательные сообщения, или несоответствия в Forwarding Information Base (FIB). Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row59&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.mc_forwarding = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает поддержку маршрутизации групповых рассылок для заданного интерфейса. Кроме того, чтобы иметь поддержку маршрутизации групповых рассылок, необходимо собрать ядро с включенной опцией CONFIG_MROUTE. Дополнительно в системе должен иметься демон, осуществляющий групповую маршрутизацию. Его вы можете получить с &lt;acronym title=&quot;File Transfer Protocol&quot;&gt;FTP&lt;/acronym&gt;-сайта AT&amp;amp;T Research.. Этот демон реализует протокол DVMRP (от англ. Distance Vector Multicast Routing Protocol – протокол маршрутизации групповых рассылок типа «вектор-расстояние»). Еще один демон маршрутизации групповых рассылок доступен на сайте PIMd. Это реализация «разреженного» протокола PIM (от англ. Protocol Independent Multicast – протокол маршрутизации групповых рассылок, независимый от используемого протокола маршрутизации), или PIM-SM. Там же вы найдете ссылки на другие реализации протоколов PIM-DM (Protocol Independent Multicast-Dense Mode – протокол маршрутизации групповых рассылок, независимый от используемого протокола маршрутизации, «уплотненного» режима) и PIM-SM (Protocol Independant Multicast-Sparse Mode – протокол маршрутизации групповых рассылок, независимый от используемого протокола маршрутизации, «разреженного» режима). Дополнительную информацию по групповой адресации вы найдете в Multicast HOWTO. Групповая адресация используется в тех случаях, когда необходимо выполнить доставку информации сразу к нескольким пунктам назначения. Например, WEB-страничка передается отдельно каждому, кто ее запросил, а если несколько человек решили принять участие в видеоконференции? Есть два пути реализации доставки. Либо каждому участнику отдавать отдельный поток данных (тогда трафик будет таким огромным, что для него может просто не хватить пропускной способности канала), либо использовать групповую рассылку. В этом случае отправитель создает одну дейтаграмму с групповым адресом назначения, по мере продвижения через сеть дейтаграмма будет дублироваться только на «развилках» маршрутов от отправителя к получателям. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Обратите внимание – нет никакой необходимости включать эту опцию, если вы желаете лишь получать групповые пакеты. Она необходима только если вы собираетесь перенаправлять групповой трафик через вашу систему.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row60&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.proxy_arp = 0&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает проксирование arp-запросов для заданного интерфейса. ARP-прокси позволяет маршрутизатору отвечать на ARP запросы в одну сеть, в то время как запрашиваемый хост находится в другой сети. С помощью этого средства происходит «обман» отправителя, который отправил ARP запрос, после чего он думает, что маршрутизатор является хостом назначения, тогда как в действительности хост назначения находится «на другой стороне» маршрутизатора. Маршрутизатор выступает в роли уполномоченного агента хоста назначения, перекладывая пакеты от другого хоста. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Дополнительную информацию вы найдете в Proxy-ARP mini HOWTO.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row61&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.rp_filter = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает reverse path filter («проверка обратного адреса» – хотя это слишком вольный перевод термина, но мне он кажется наиболее близким по смыслу. прим. перев.) для заданного интерфейса. Смысл этой переменной достаточно прост – все что поступает к нам проходит проверку на соответствие исходящего адреса с нашей таблицей маршрутизации и такая проверка считается успешной, если принятый пакет предполагает передачу ответа через тот же самый интерфейс. Если вы используете расширенную маршрутизацию тем или иным образом, то вам следует всерьез задуматься о выключении этой переменной, поскольку она может послужить причиной потери пакетов. Например, в случае, когда входящий трафик идет через один маршрутизатор, а исходящий – через другой. Так, WEB-сервер, подключенный через один сетевой интерфейс к входному роутеру, а через другой – к выходному (в случае, когда включен rp_filter), будет просто «терять» входящий трафик, поскольку обратный маршрут, в таблице маршрутизации, задан через другой интерфейс. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Однако в некоторых дистрибутивах по-умолчанию эта переменная включается в стартовых скриптах на этапе загрузки. Поэтому, если у вас эта переменная включена, а вам надо ее выключить – просмотрите стартовые скрипты в каталоге rc.d. Более детальную информацию об этой переменной вы найдете в RFC 1812 - Requirements for IP Version 4 Routers на страницах 46-49 (секция 4.2.2.11), странице 55 (секция 4.3.2.7) и странице 90 (секция 5.3.3.3). Если вы всерьез занимаетесь проблемами маршрутизации, то вам определенно придется изучить этот документ.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row62&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.secure_redirects = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает режим безопасной переадресации. Если переменная выключена, то будут приниматься любые сообщения ICMP Redirect … от любого хоста из любого места. Если переменная включена, то сообщения о переадресации будут восприниматься только от тех шлюзов (gateways), которые имеются в списке шлюзов по-умолчанию. С помощью этой опции можно избежать большинства ложных переадресаций, которые могут быть использованы для перехвата трафика. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Обратите внимание – действие этой переменной отменяется переменной shared_media, так что, если вы включаете secure_redirects, то необходимо включить и shared_media.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row63&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.send_redirects = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает выдачу ICMP Redirect … другим хостам. Эта опция обязательно должна быть включена, если хост выступает в роли маршрутизатора любого рода. Как правило ICMP-сообщения о переадресации отправляются в том случае, когда необходимо сообщить хосту о том, что он должен вступить в контакт с другим сервером. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 1 (включено). Если компьютер не выступает в роли маршрутизатора, то эту переменную можно отключить.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row64&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.conf.all.shared_media = 1&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Включает/выключает признак того, что физическая сеть является носителем нескольких логических подсетей, например, когда на одном физическом кабеле организовано несколько подсетей с различными сетевыми масками. Этот признак используется ядром при принятии решения о необходимости выдачи ICMP-сообщений о переадресации. Переменная может иметь два значения – 0 (выключено) и 1 (включено). Значение по-умолчанию – 0 (выключено). Эта переменная перекрывает действие переменной secure_redirects.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row65&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.route.error_burst = 1250&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная используется в паре с error_cost для ограничения количества генерируемых сообщений ICMP &amp;lt;Destination&amp;gt; Unreachable. Эта переменная несет в себе смысл верхнего предела «стоимости» передачи сообщений, в то время как error_cost обозначает «цену» одного сообщения. Когда error_burst «опустошается», то передача сообщений ICMP &amp;lt;Destination&amp;gt; Unreachable прекращается. Сообщения ICMP &amp;lt;Destination&amp;gt; Unreachable обычно отсылаются тогда, когда невозможно определить дальнейший маршрут движения пакета. Этому могут быть три причины: 1. Невозможно выполнить передачу хосту. 2. Не известен маршрут к заданному сегменту сети или хосту. 3.Если данный маршрут запрещен набором правил маршрутизации. В этих трех случаях сетевая подсистема генерирует сообщение ICMP &amp;lt;Destination&amp;gt; Unreachable, свое для каждого случая: 1. ICMP Host Unreachable – когда хост, находящийся в той же сети, что и наш роутер – недоступен (т.е. не отвечает на ARP-запросы. прим. перев.). 2. ICMP Network Unreachable – когда в таблице маршрутизации роутера нет ни одного маршрута, по которому пакет мог бы быть отправлен дальше. 3. ICMP Communication Administratively Prohibited By Filtering – когда пакет не может быть переправлен из-за наличия правил маршрутизации явно запрещающих передачу. Значение по-умолчанию – 500. Учитывая значение по-умолчанию переменной error_cost (100) это соответствует 5-ти сообщениям ICMP Destination Unreachables в секунду.&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row66&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.route.error_cost = 250&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Более подробное описание см. выше error_burst. Основной смысл этой переменной – «цена» одного сообщения ICMP Destination Unreachable. Значение по-умолчанию – 100, что подразумевает передачу не более 5-ти сообщений ICMP Destination Unreachable за 1 секунду (если расчет производить с учетом значения по-умолчанию переменной error_burst).&lt;/td&gt; &lt;/tr&gt; &lt;tr class=&quot;row67&quot;&gt;  &lt;td class=&quot;col0&quot;&gt;&lt;strong&gt;net.ipv4.ipfrag_high_thresh = 262144&lt;/strong&gt;&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Переменная задает максимальный объем памяти, выделяемый под очередь фрагментированных пакетов. Когда длина очереди достигает этого порога, то обработчик фрагментов будет отвергать все фрагментированные пакеты до тех пор, пока длина очереди не уменьшится до значения переменной ipfrag_low_thresh. Это означает, что все отвергнутые фрагментированные пакеты должны быть повторно переданы узлом-отправителем. Пакеты фрагментируются в том случае, если их размер слишком велик, чтобы быть переданными по данному каналу. Узел-отправитель, в этом случае, «режет» пакеты на более мелкие части и затем передает их одну за другой. На узле-получателе эти фрагменты опять собираются в полноценный пакет. Примечательно, что идея фрагментации пакетов, сама по себе, вещь замечательная, но, к сожалению, может быть использована в весьма неблаговидных целях. Переменная содержит целое число в диапазоне 0 .. 2147483647 и означает верхний порог длины очереди фрагментов в байтах. Значение по-умолчанию – 262144 байт, или 256 Кб. Этого количества, как правило, вполне достаточно даже для самых крайних случаев.&lt;/td&gt; &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3481246786364105187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/3481246786364105187'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/etcsysctl.html' title='Настройка sysctl.conf'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-1668321314415738887</id><published>2010-06-26T22:19:00.007+04:00</published><updated>2013-01-09T19:10:18.096+04:00</updated><title type='text'>OpenVpn (tap)</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEify0mWo6rLv47aSvGRyZDzAntqJ4ZaeHz0fvM1ybLA7wD2MgeQCwfHK_5EcNQR7_Tgg6hSQV-qJrGG16ZsjaJGMAN9qAE57_78hVVsKKnozZtpNzG_P9BGdcxE2Vpfl5u3MxQ5-6PBWgnx/s1600/tryus.png&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5487149171564917298&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEify0mWo6rLv47aSvGRyZDzAntqJ4ZaeHz0fvM1ybLA7wD2MgeQCwfHK_5EcNQR7_Tgg6hSQV-qJrGG16ZsjaJGMAN9qAE57_78hVVsKKnozZtpNzG_P9BGdcxE2Vpfl5u3MxQ5-6PBWgnx/s200/tryus.png&quot; style=&quot;cursor: pointer; float: left; height: 55px; margin: 0pt 10px 10px 0pt; width: 55px;&quot; /&gt;&lt;/a&gt; Tap интерфейс используется в основном для соединения сервер &amp;gt;&amp;gt; сервер. В связке с bridge-utils он позволяет объединять две удаленные сети в одну, причем позволяет строить туннели &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_OSI#.D0.9A.D0.B0.D0.BD.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D1.83.D1.80.D0.BE.D0.B2.D0.B5.D0.BD.D1.8C_.28.D0.B0.D0.BD.D0.B3.D0.BB..C2.A0Data_Link_layer.29&quot;&gt;второго уровня сетевой модели OSI&lt;/a&gt;. И хотя это далеко не единственный способ применения tap интерфейса (подробнее смотрите на сайте &lt;a href=&quot;http://www.openvn.org/&quot;&gt;OpenVpn&lt;/a&gt;),  в этой заметке я расскажу именно о таком тоннеле и способах его построения.&lt;br /&gt;
&lt;div&gt;
Предположим у нас есть два офиса, которые надо объединить в одну сеть. При этом нам необходимо чтобы между ними у нас бегали &lt;a href=&quot;http://ru.wikipedia.org/wiki/NetBIOS&quot;&gt;netbios&lt;/a&gt; и тегированый  трафик (&lt;a href=&quot;http://ru.wikipedia.org/wiki/Vlan&quot;&gt;vlan&lt;/a&gt;)  ну или что либо не из стека TCP/IP. Для этого нам понадобятся два сервера(часто для этого используются шлюзы). Чтобы быо проще понять что к чему мы рассмотрим настройку на примере всего двух серверов и назовем их например A и B. У одного из них должен быть &quot;внешний&quot; IP адрес, для второго это вовсе не обязательно.(В нашем случае внешний айпишник будет у сервера A, например такой: 123.123.123.123).&lt;/div&gt;
&lt;div&gt;
Смысл примерно такой настраиваем openvpn и запускаем его на обоих машинах, в результате на каждой машине у нас поднимается TAP интерфейс (оба этих интерфейса являются &quot;концами&quot; нашего туннеля)  с помощью bridge-utils  объединяем эти интерфейсы в мост с нашим реальным интерфейсом, который смотрит у нас в локалку.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
И так, для начала нам понадобится установить openvpn и bridge-utils:&lt;/div&gt;
&lt;div&gt;
yum install openvpn bridge-utils&lt;/div&gt;
&lt;div&gt;
Далее генерим ключи и копируем их в /etc/openvpn, как описано это в предыдущем посте.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Пишем конфиги.&lt;/div&gt;
&lt;div&gt;
Для начала необходимо определиться какие конфиги нам понадобятся:&lt;/div&gt;
&lt;div&gt;
Для сервера A (собственно он у нас будет принимать соединение { потому то у него и есть внешний IP }) : server-tap.conf(общие настройки опенвпн) а также два скрипта(openvpn-startup и openvpn-shutdown) которые, соответственно поднимут или опустят мост  во время старта и выключения опенвпн.&lt;/div&gt;
&lt;div&gt;
Для сервера B (который у нас будет подключаться к серверу A) нужно все тоже самое за исключением того что конфиг у него будет отличаться от конфига сервера A. &lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
СЕРВЕР A. (/etc/openvpn/server-tap.conf)&lt;/div&gt;
&lt;div&gt;
port 2000&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
proto tcp&lt;/div&gt;
&lt;div&gt;
dev tap0&lt;/div&gt;
&lt;div&gt;
comp-lzo&lt;/div&gt;
&lt;div&gt;
tun-mtu 1500&lt;/div&gt;
&lt;div&gt;
server-bridge 192.168.0.8 255.255.255.0 192.168.0.200 192.168.0.202&lt;/div&gt;
&lt;div&gt;
#здесь пишем ip внутреннего интерфейса и диапазон ip из которых можно назначать &lt;/div&gt;
&lt;div&gt;
#адрес tap интерфейсу сервера B &lt;/div&gt;
&lt;div&gt;
ca /etc/openvpn/keys/ca.crt&lt;/div&gt;
&lt;div&gt;
cert /etc/openvpn/keys/server.crt&lt;/div&gt;
&lt;div&gt;
key /etc/openvpn/keys/server.key&lt;/div&gt;
&lt;div&gt;
dh /etc/openvpn/keys/dh1024.pem&lt;/div&gt;
&lt;div&gt;
persist-key&lt;/div&gt;
&lt;div&gt;
persist-tun&lt;/div&gt;
&lt;div&gt;
verb 0&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Сервер B. (/etc/openvpn/server-tap.conf)&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
client&lt;/div&gt;
&lt;div&gt;
nobind&lt;/div&gt;
&lt;div&gt;
ping 10&lt;/div&gt;
&lt;div&gt;
remote 123.123.123.123&lt;/div&gt;
&lt;div&gt;
#ip сервера A&lt;/div&gt;
&lt;div&gt;
port 2000&lt;/div&gt;
&lt;div&gt;
proto tcp&lt;/div&gt;
&lt;div&gt;
dev tap0&lt;/div&gt;
&lt;div&gt;
comp-lzo&lt;/div&gt;
&lt;div&gt;
tun-mtu 1500&lt;/div&gt;
&lt;div&gt;
ca /etc/openvpn/keys/ca.crt&lt;/div&gt;
&lt;div&gt;
cert /etc/openvpn/keys/client1.crt&lt;/div&gt;
&lt;div&gt;
key /etc/openvpn/keys/client1.key&lt;/div&gt;
&lt;div&gt;
persist-key&lt;/div&gt;
&lt;div&gt;
persist-tun&lt;/div&gt;
&lt;div&gt;
verb 0&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ну а также наши скрипты (они одинаковы для обоих серверов и должны лежать в /etc/openvpn).&lt;/div&gt;
&lt;div&gt;
Первый скрипт /etc/openvpn/openvpn-startup.&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
#!/bin/bash&lt;/div&gt;
&lt;div&gt;
#################################&lt;/div&gt;
&lt;div&gt;
# Set up Ethernet bridge on Linux&lt;/div&gt;
&lt;div&gt;
# Requires: bridge-utils&lt;/div&gt;
&lt;div&gt;
#################################&lt;/div&gt;
&lt;div&gt;
# Define Bridge Interface&lt;/div&gt;
&lt;div&gt;
br=&quot;br0&quot;&lt;/div&gt;
&lt;div&gt;
# Define list of TAP interfaces to be bridged,&lt;/div&gt;
&lt;div&gt;
# for example tap=&quot;tap0 tap1 tap2&quot;.&lt;/div&gt;
&lt;div&gt;
tap=&quot;tap0&quot;&lt;/div&gt;
&lt;div&gt;
# Define physical ethernet interface to be bridged&lt;/div&gt;
&lt;div&gt;
# with TAP interface(s) above.&lt;/div&gt;
&lt;div&gt;
eth=&quot;eth1&quot;&lt;/div&gt;
&lt;div&gt;
# здесь указываем наш внутренний интерфейс&lt;/div&gt;
&lt;div&gt;
eth_ip=&quot;192.168.0.8&quot;&lt;/div&gt;
&lt;div&gt;
#его ip для серверов A и B это будут соответственно айпиники их внутренних интерфейсов.&lt;/div&gt;
&lt;div&gt;
eth_netmask=&quot;255.255.255.0&quot;&lt;/div&gt;
&lt;div&gt;
# маску&lt;/div&gt;
&lt;div&gt;
eth_broadcast=&quot;192.168.0.255&quot;&lt;/div&gt;
&lt;div&gt;
#и широковещательный адрес&lt;/div&gt;
&lt;div&gt;
for t in $tap; do&lt;/div&gt;
&lt;div&gt;
openvpn --mktun --dev $t&lt;/div&gt;
&lt;div&gt;
sleep 2&lt;/div&gt;
&lt;div&gt;
done&lt;/div&gt;
&lt;div&gt;
brctl addbr $br&lt;/div&gt;
&lt;div&gt;
brctl addif $br $eth&lt;/div&gt;
&lt;div&gt;
sleep 2&lt;/div&gt;
&lt;div&gt;
for t in $tap; do&lt;/div&gt;
&lt;div&gt;
brctl addif $br $t&lt;/div&gt;
&lt;div&gt;
done&lt;/div&gt;
&lt;div&gt;
for t in $tap; do&lt;/div&gt;
&lt;div&gt;
ifconfig $t 0.0.0.0 promisc up&lt;/div&gt;
&lt;div&gt;
sleep 2&lt;/div&gt;
&lt;div&gt;
done&lt;/div&gt;
&lt;div&gt;
ifconfig $eth 0.0.0.0 promisc up&lt;/div&gt;
&lt;div&gt;
sleep 2&lt;/div&gt;
&lt;div&gt;
ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Второй скрипт /etc/openvpn/openvpn-shutdown&lt;/div&gt;
&lt;div&gt;
#!/bin/bash&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
####################################&lt;/div&gt;
&lt;div&gt;
# Tear Down Ethernet bridge on Linux&lt;/div&gt;
&lt;div&gt;
####################################&lt;/div&gt;
&lt;div&gt;
# Define Bridge Interface&lt;/div&gt;
&lt;div&gt;
br=&quot;br0&quot;&lt;/div&gt;
&lt;div&gt;
# Define list of TAP interfaces to be bridged together&lt;/div&gt;
&lt;div&gt;
tap=&quot;tap0&quot;&lt;/div&gt;
&lt;div&gt;
ifconfig $br down&lt;/div&gt;
&lt;div&gt;
brctl delbr $br&lt;/div&gt;
&lt;div&gt;
for t in $tap; do&lt;/div&gt;
&lt;div&gt;
openvpn --rmtun --dev $t&lt;/div&gt;
&lt;div&gt;
done&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Не забываем сделать их исполняемыми: &lt;/div&gt;
&lt;div&gt;
chmod +x /etc/openvpn/openvpn-s*&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Стартуем openvpn на обоих серверах и ставим openvpn в службы запускаемые по умолчанию&lt;/div&gt;
&lt;div&gt;
service openvpn start&lt;/div&gt;
&lt;div&gt;
chkconfig openvpn on&lt;/div&gt;
&lt;div&gt;
Небольшое замечание: все это будет работать при условии что сети обоих офисов будут относиться к одной логической сети.&lt;/div&gt;
&lt;div&gt;
Ну вот собственно и все.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://nix-serv.ru/&quot; target=&quot;_blank&quot;&gt;Удаленное администрирование серверов.&lt;/a&gt;&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/1668321314415738887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/1668321314415738887'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/tun.html' title='OpenVpn (tap)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEify0mWo6rLv47aSvGRyZDzAntqJ4ZaeHz0fvM1ybLA7wD2MgeQCwfHK_5EcNQR7_Tgg6hSQV-qJrGG16ZsjaJGMAN9qAE57_78hVVsKKnozZtpNzG_P9BGdcxE2Vpfl5u3MxQ5-6PBWgnx/s72-c/tryus.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-8951034251251639593</id><published>2010-06-26T00:23:00.002+04:00</published><updated>2013-01-09T19:07:45.436+04:00</updated><title type='text'>OpenVpn (tun)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihcxl72tjDtdStLpVHpEaqz5cViyhZ1YrsVBEug8lYxx7O7Mo-xUnV5Wp6Yl4p9HoPOwgmUNls5PUNnZ4SM3JAHDozbiK4kZ8mpKVTuZ-EAKCSPNPaE2hZb8JXfqcd4o08eoItk0SABCiE/s1600/tryus.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihcxl72tjDtdStLpVHpEaqz5cViyhZ1YrsVBEug8lYxx7O7Mo-xUnV5Wp6Yl4p9HoPOwgmUNls5PUNnZ4SM3JAHDozbiK4kZ8mpKVTuZ-EAKCSPNPaE2hZb8JXfqcd4o08eoItk0SABCiE/s320/tryus.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Итак для настройки Openvpn с использованием tun интерфейса (&lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_OSI#.D0.A1.D0.B5.D1.82.D0.B5.D0.B2.D0.BE.D0.B9_.D1.83.D1.80.D0.BE.D0.B2.D0.B5.D0.BD.D1.8C_.28.D0.B0.D0.BD.D0.B3.D0.BB..C2.A0Network_layer.29&quot;&gt;L3 туннеля&lt;/a&gt;), нам понадобится во первых его установить (yum install openvpn{CentOS/Red Hat}, apt-get install openvpn{Debian/Ubuntu}, pacman -S openvpn{Arch linux}).&lt;br /&gt;
После установки:&lt;br /&gt;
&lt;br /&gt;
1) cd /usr/share/openvpn/easy-rsa/2.0/&lt;br /&gt;
2)правим ./vars , задаем  следующие параметры:&lt;br /&gt;
&lt;br /&gt;
export KEY_SIZE= (обычно 1024 , но можете и больше например 2048{нагрузка на сервер вырастет почти в два раза})&lt;br /&gt;
export KEY_COUNTRY=&quot;ваша страна&quot;&lt;br /&gt;
export KEY_PROVINCE=&quot;ваша область&quot;&lt;br /&gt;
export KEY_CITY=&quot;город&quot;&lt;br /&gt;
export KEY_ORG=&quot;организация&quot;&lt;br /&gt;
export KEY_EMAIL=&quot;ваш e-mail&quot;&lt;br /&gt;
2.5) Если у нас centos/sl/rhel &lt;span style=&quot;color: red;&quot;&gt;шестой&lt;/span&gt; версии то необходимо след.:&lt;br /&gt;
cp&amp;nbsp;openssl-1.0.0.cnf openssl.cnf&lt;br /&gt;
3)source ./vars&lt;br /&gt;
4)./clean-all&lt;br /&gt;
5)./build-ca (при генерации жмем везде Enter)&lt;br /&gt;
6)./build-key-server server (Также жмем Enter на все вопросы)&lt;br /&gt;
7)./build-key client1 (генерим ключи клиентов)(все также жмем Enter)&lt;br /&gt;
8)./build-dh&lt;br /&gt;
&lt;br /&gt;
Дальше копируем папку /usr/share/openvpn/easy-rsa/2.0/keys в /etc/openvpn&lt;br /&gt;
И принимаемся за написание конфигов сервера и клиента.&lt;br /&gt;
&lt;br /&gt;
КОНФИГ СЕРВЕРА (/etc/openvpn/server.conf)&lt;br /&gt;
port 1194&lt;br /&gt;
# (порт который слушает openvpn)&lt;br /&gt;
proto tcp&lt;br /&gt;
# (протокол)&lt;br /&gt;
dev tun&lt;br /&gt;
ca keys/ca.crt&lt;br /&gt;
cert keys/server.crt&lt;br /&gt;
key keys/server.key&lt;br /&gt;
dh keys/dh1024.pem&lt;br /&gt;
# (зачение меняется в зависимости от длинны ключа которую вы выбрали)&lt;br /&gt;
server 10.10.0.0 255.255.255.0&lt;br /&gt;
#(виртуальная сеть которую будет использовать сервер для назначения клиенту ip адреса )&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &quot;route 192.168.0.0 255.255.255.0&quot;&lt;br /&gt;
#ваша реальная сеть маршрут до которой сервер пропишет клиенту&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
comp-lzo&lt;br /&gt;
user openvpn&lt;br /&gt;
group openvpn&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
status /var/log/openvpn-status.log&lt;br /&gt;
log /var/log/openvpn.log&lt;br /&gt;
verb 3&lt;br /&gt;
&lt;br /&gt;
КОНФИГ ЛИНУКСОВОГО КЛИЕНТА (/etc/openvpn/my_company/vasya.conf)&lt;br /&gt;
client&lt;br /&gt;
dev tun&lt;br /&gt;
proto tcp&lt;br /&gt;
remote XXX.XXX.XXX.XXX 1194&lt;br /&gt;
#(IP и порт сервера openvpn)&lt;br /&gt;
resolv-retry infinite&lt;br /&gt;
nobind&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
ca /etc/openvpn/my_company/ca.crt&lt;br /&gt;
cert /etc/openvpn/my_company/vasya.crt&lt;br /&gt;
key /etc/openvpn/my_company/vasya.key&lt;br /&gt;
#пути к ключам&lt;br /&gt;
ns-cert-type server&lt;br /&gt;
comp-lzo&lt;br /&gt;
verb 3&lt;br /&gt;
&lt;br /&gt;
КОНФИГ ВИНДОВОГО КЛИЕНТА (C:\\program files\openVpn\config\vasya.ovpn)&lt;br /&gt;
client&lt;br /&gt;
dev tun&lt;br /&gt;
proto tcp&lt;br /&gt;
remote XXX.XXX.XXX.XXX 1194&lt;br /&gt;
#(IP и порт сервера openvpn)&lt;br /&gt;
resolv-retry infinite&lt;br /&gt;
nobind&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert vasya.crt&lt;br /&gt;
key vasya.key&lt;br /&gt;
#пути к ключам&lt;br /&gt;
ns-cert-type server&lt;br /&gt;
comp-lzo&lt;br /&gt;
verb 3&lt;br /&gt;
&lt;br /&gt;
включаем форвардинг пакетов:&lt;br /&gt;
редактируем   /etc/sysctl.conf&lt;br /&gt;
находим строку net.ipv4.ip_forward = 0&lt;br /&gt;
и меняем ее на net.ipv4.ip_forward = 1&lt;br /&gt;
в консоли даем команду:&lt;br /&gt;
sysctl -p&lt;br /&gt;
далее настраиваем iptables (нам необходимо включить NAT из виртуальной сети на интерфейс нашей внутренней  сети)&lt;br /&gt;
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth1 -j MASQUERADE&lt;br /&gt;
Не забываем сохранить настройки iptables&lt;br /&gt;
iptables-save &amp;gt; /etc/sysconfig/iptables&lt;br /&gt;
Запускаем openvpn:&lt;br /&gt;
service openvpn start&lt;br /&gt;
Ну и не забываем стартовать его по умолчанию&lt;br /&gt;
chkconfig openvpn on&lt;br /&gt;
ВСЁ !!!!&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://nix-serv.ru/&quot; target=&quot;_blank&quot;&gt;Абонентское обслуживание компьютеров.&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;b&gt;&lt;b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/b&gt;&lt;/span&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/8951034251251639593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/8951034251251639593'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/openvpn-tun.html' title='OpenVpn (tun)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihcxl72tjDtdStLpVHpEaqz5cViyhZ1YrsVBEug8lYxx7O7Mo-xUnV5Wp6Yl4p9HoPOwgmUNls5PUNnZ4SM3JAHDozbiK4kZ8mpKVTuZ-EAKCSPNPaE2hZb8JXfqcd4o08eoItk0SABCiE/s72-c/tryus.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-6949948941589756946</id><published>2010-06-25T23:36:00.000+04:00</published><updated>2013-01-19T22:45:30.437+04:00</updated><title type='text'>Dnsmasq</title><content type='html'>Простенький кэширующий &amp;nbsp;DNS, DHCP и TFTP сервер.&lt;br /&gt;
На самом деле в его настройке нет вообще ничего сложного (работать в качестве DNS форварда он готов сразу после установки, как только вы его запустите).&lt;br /&gt;
В данной статье я опишу основные параметры конфигурации.&lt;br /&gt;
Итак начнем:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;настройки dhcp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;dhcp-option=66,&quot;192.168.1.100&quot;&lt;/span&gt; - адрес TFTP сервера&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;dhcp-option=6, 192.168.1.10, 192.168.1.200&lt;/span&gt;&amp;nbsp;- адреса днс серверов(если не указывать этот параметр то назначает себя в качестве dns)&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;dhcp-option=3,192.168.1.1&lt;/span&gt; - адрес шлюза по умолчанию(если не указывать этот параметр то назначает себя в качестве шлюза)&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;dhcp-option=121,192.168.2.0/24,192.168.1.1&lt;/span&gt; - раздача статических маршрутов&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: orange;&quot;&gt;настройки tftp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;enable-tftp&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue;&quot;&gt;tftp-root=/opt/tftpboot&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Это далеко не все, по возможности буду дополнять данную статью.&lt;br /&gt;
Ну а кому, не терпится советую почитать man dnsmasq.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://nix-serv.ru/special&quot; target=&quot;_blank&quot;&gt;Сервер бесплатно.&lt;/a&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6949948941589756946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/6949948941589756946'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/dnsmasq.html' title='Dnsmasq'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-3536466282065011942.post-5177607090337623975</id><published>2010-06-25T14:16:00.001+04:00</published><updated>2013-06-24T05:32:41.737+04:00</updated><title type='text'>Iptables</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXka3cmYrv5S-036_aYvmSD7z8N-eW0_uiZCOzLIqUQdBDgMb2UKo8gT2_Q0TAyWCBoo9IUULiS7SEM-gsuai-O6JqmWtDugRSvTeh9C_wvjY0V2ffq2b1fSK6z_N3sDuo0cRsZHRC1OcA/s1600/netfilter-logo2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;53&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXka3cmYrv5S-036_aYvmSD7z8N-eW0_uiZCOzLIqUQdBDgMb2UKo8gT2_Q0TAyWCBoo9IUULiS7SEM-gsuai-O6JqmWtDugRSvTeh9C_wvjY0V2ffq2b1fSK6z_N3sDuo0cRsZHRC1OcA/s200/netfilter-logo2.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
Итак, в данной заметке, как вы уже наверно догадались, речь пойдет о пакетном фильтре Iptables.&lt;br /&gt;
О том  что это такое и как оно работает вы можете прочитать в википедии пройдя по &lt;a href=&quot;http://ru.wikipedia.org/wiki/Iptables&quot;&gt;этой ссылке&lt;/a&gt;.&lt;br /&gt;
Я же просто приведу несколько простых примеров с комментариями (используется формат утилиты &lt;a href=&quot;http://www.opennet.ru/man.shtml?topic=iptables-save&amp;amp;russian=0&amp;amp;category=&amp;amp;submit=%F0%CF%CB%C1%DA%C1%D4%D8+man&quot;&gt;iptables-save&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
*filter&lt;br /&gt;
# Установка политик по умолчанию для цепочек таблицы filter&lt;br /&gt;
:INPUT DROP [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
# здесь мы разрешаем tcp соединения с установленными флагами ACK а также соединения имеющие состояние ESTABLISHED или RELATED (например в сочетании с действием по умолчанию DROP это дает нам возможность разрешать только исходящие от нашего сервера соединения)&lt;br /&gt;
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT&lt;br /&gt;
-A INPUT -m state --state ESTABLISHED -j ACCEPT&lt;br /&gt;
-A INPUT -m state --state RELATED -j ACCEPT&lt;br /&gt;
# Разрешаем входящие соединения на loopback и внутреннем интерфейсе.&lt;br /&gt;
-A INPUT -i lo -j ACCEPT&lt;br /&gt;
&lt;div&gt;
-A INPUT -i eth0 -j ACCEPT&lt;/div&gt;
&lt;div&gt;
# Открываем на внешнем интерфейсе порты 25 и 110 (SMTP и POP3).&lt;/div&gt;
&lt;div&gt;
-A INPUT -i eth0 -p tcp -m tcp -m multiport -j ACCEPT --dports 25,110&lt;/div&gt;
&lt;div&gt;
# Пример простейшей привязки ip к mac&lt;/div&gt;
&lt;div&gt;
-A INPUT -m mac -s 192.168.0.5 -i eth1 ! --mac-source 00:22:15:53:16:85 -j DROP&lt;br /&gt;
#Данные две строчки позволяют ограничить количество соединений на порт 22 (3 соединения с одног IP за полчаса). Это поможет защититься от брутфорс атак, но вообще крайне не рекомендуется оставлять ssh на стандартном порту.&lt;/div&gt;
&lt;div&gt;
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 2/hour --limit-burst 3 -j ACCEPT&lt;br /&gt;
-A INPUT -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j DROP&lt;br /&gt;
COMMIT&lt;br /&gt;
*mangle&lt;br /&gt;
# Установка политик по умолчанию для цепочек таблицы mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
*nat&lt;br /&gt;
# Установка политик по умолчанию для цепочек таблицы nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
# Пример проброса порта (80 порта [http])с внешнего IP на машину во внутренней сети.&lt;br /&gt;
#Сам порт в таблице filter отрывать не надо.&lt;br /&gt;
-A PREROUTING -p tcp -d XXX.XXX.XXX.XXX --dport 80 -j DNAT --to-destination 192.168.0.17:80&lt;br /&gt;
# Используется на шлюзе для того что сделать http прокси сервер прозрачным (например squid)&lt;br /&gt;
-A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128&lt;br /&gt;
# Правило для&amp;nbsp;&lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%81%D0%BA%D0%B0%D1%80%D0%B0%D0%B4%D0%B8%D0%BD%D0%B3&quot;&gt;маскарадинга&lt;/a&gt;&amp;nbsp;пакетов от сети 192.168.0.0/24 и исходящем интерфейсе eth0 (если он у нас смотрит во вне то у сети 192.168.0.0/24 появляется интернет :-) ).&lt;br /&gt;
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE&lt;br /&gt;
# ну а так можно сделать например если мы хотим открыть кому-то только аську.&lt;br /&gt;
-A POSTROUTING -p tcp -m tcp -m multiport -s 192.168.0.25 -o eth0 -j MASQUERADE --dports 5190&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
Далее пример простого конфига роутера.&lt;br /&gt;
&lt;br /&gt;
*filter&lt;br /&gt;
:INPUT DROP [0:0]&lt;br /&gt;
:FORWARD DROP [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1194 -j ACCEPT&lt;br /&gt;
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
-A INPUT -i lo -j ACCEPT&lt;br /&gt;
-A INPUT -i eth0 -j ACCEPT&lt;br /&gt;
-A INPUT -i tun+ -j ACCEPT&lt;br /&gt;
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
-A FORWARD -i lo -j ACCEPT&lt;br /&gt;
-A FORWARD -i eth0 -j ACCEPT&lt;br /&gt;
-A FORWARD -i tun+ -j ACCEPT&lt;br /&gt;
COMMIT&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -s 192.168.2.0/255.255.255.0 -o eth1 -j MASQUERADE&lt;br /&gt;
COMMIT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://nix-serv.ru/&quot; target=&quot;_blank&quot;&gt;Администрирование серверов&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/5177607090337623975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3536466282065011942/posts/default/5177607090337623975'/><link rel='alternate' type='text/html' href='http://snow-leo.blogspot.com/2010/06/iptables.html' title='Iptables'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXka3cmYrv5S-036_aYvmSD7z8N-eW0_uiZCOzLIqUQdBDgMb2UKo8gT2_Q0TAyWCBoo9IUULiS7SEM-gsuai-O6JqmWtDugRSvTeh9C_wvjY0V2ffq2b1fSK6z_N3sDuo0cRsZHRC1OcA/s72-c/netfilter-logo2.png" height="72" width="72"/></entry></feed>