<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://miac.volmed.org.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liaka</id>
	<title>Wiki МИАЦ ВО - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://miac.volmed.org.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Liaka"/>
	<link rel="alternate" type="text/html" href="https://miac.volmed.org.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Liaka"/>
	<updated>2026-05-17T12:37:26Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://miac.volmed.org.ru/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_no-ip&amp;diff=3163</id>
		<title>Настройка программы no-ip</title>
		<link rel="alternate" type="text/html" href="https://miac.volmed.org.ru/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B_no-ip&amp;diff=3163"/>
		<updated>2013-02-26T13:30:17Z</updated>

		<summary type="html">&lt;p&gt;Liaka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Для чего это нужно.==&lt;br /&gt;
Очень часто бывают случаи, кагда адрес интернет сервер получает динамически от провайдера, а мы хотим, что бы данный сервер не только раздавал интернет, но и имел свое доменное имя, для поднятия своего HTTP и mail сервера, а так же, что бы администратор мог управлять данным сервером по ssh с любого места интернета.&lt;br /&gt;
Для этого и служит программа &#039;&#039;&#039;no-ip&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка программы]&lt;br /&gt;
&lt;br /&gt;
==Как оно работает==&lt;br /&gt;
Вы регистрируете свое доменное имя на сайте [http://www.no-ip.com www.no-ip.com] и устанавливаете демоном к себе на сервер утилиту, которая периодически посылает на серевер no-ip.com данные о своем ip адресе и тот заносит их в свою базу DNS. И теперь если кто-то из инета запросит данный адрес, то DNS сервер ip-com выдаст ему актуальный на данный момент ip адрес.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка программы]&lt;br /&gt;
&lt;br /&gt;
==Регистрация==&lt;br /&gt;
#Для регистрации нудно зайти на сайт [http://www.no-ip.com www.no-ip.com]&lt;br /&gt;
#Зайти на ссылку [http://www.no-ip.com/newUser.php Sign-up Now!]&lt;br /&gt;
#Заполнить предложенную анкету. &lt;br /&gt;
#После этого на ваш адрес придет письмо, где надо подтвердить ваш аккаунт.&lt;br /&gt;
#После этого заходите на сайт www.no-ip.com и набираете свой mail и пароль и попадаете на страницу настроек.&lt;br /&gt;
#В прицципе там все понятно - надо вписать имя вашего сервера и выбрать домен (например: имя - voluzo, домен - sytes.net, и полное имя вашего сервера будет voluzo.sytes.net), а так же вписать ip адрес сервера на данный момент.&lt;br /&gt;
#Если хотите настроить почтовый сервер на вашем шлюзе, то надо вписать в MX record имя почтового сервера (mail.voluzo.sytes.net - для нашего случая)&lt;br /&gt;
#Нажимаете на Create Host &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка программы]&lt;br /&gt;
&lt;br /&gt;
==Установка==&lt;br /&gt;
#Выкачиваете последнюю версию программы под [http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz Linux]&lt;br /&gt;
#Разархивируете полученный файл в директорию /usr/local/src &lt;br /&gt;
&amp;lt;pre&amp;gt;# cp noip-duc-linux.tar.gz /usr/local/src&lt;br /&gt;
# cd /usr/local/src&lt;br /&gt;
# tar -zxf noip-duc-linux.tar.gz&lt;br /&gt;
# cd noip-2.1.9-1&lt;br /&gt;
# make&lt;br /&gt;
# cp redhat.noip.sh /etc/init.d/noip&lt;br /&gt;
# chmod 744 /etc/init.d/noip&lt;br /&gt;
# make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
При выполнении make install&lt;br /&gt;
#Выбираем какой интерфейс смотрит в инет&lt;br /&gt;
#Вводим email адрес, который использовали при регистрации&lt;br /&gt;
#Вводим пароль, который использовали при регистрации&lt;br /&gt;
Скрипт создает файл /usr/local/etc/no-ip2.conf&lt;br /&gt;
&lt;br /&gt;
Добавляем в /etc/init.d/noip строки.&amp;lt;br /&amp;gt;&lt;br /&gt;
Было:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Written by serge@vanginderachter.be and tested on Redhat 8&lt;br /&gt;
# ... and debugged by Uwe Dippel&lt;br /&gt;
# 29-03-2003&lt;br /&gt;
#&lt;br /&gt;
# Source function library.&lt;br /&gt;
&amp;lt;/pre&amp;gt;Стало&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Written by serge@vanginderachter.be and tested on Redhat 8&lt;br /&gt;
# ... and debugged by Uwe Dippel&lt;br /&gt;
# 29-03-2003&lt;br /&gt;
#&lt;br /&gt;
# Startup script for noip client&lt;br /&gt;
#&lt;br /&gt;
# chkconfig: 345 85 15&lt;br /&gt;
# description: noip client&lt;br /&gt;
# processname: noip&lt;br /&gt;
# config: &lt;br /&gt;
#&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides: noip&lt;br /&gt;
# Required-Start: $network&lt;br /&gt;
# Required-Stop: $network&lt;br /&gt;
# Default-Start: 3 4 5&lt;br /&gt;
# Short-Description: noip client&lt;br /&gt;
# Description: noip client&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
&lt;br /&gt;
# Source function library.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Далее запускаем drakxconf и делаем noip - сервисом.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка программы]&lt;br /&gt;
&lt;br /&gt;
==Настройка ADSL модема==&lt;br /&gt;
Надо настроить модем так, что бы при обращении к внешнему IP адресу модема, запросы переадресовывались Интернет серверу.&amp;lt;br /&amp;gt;&lt;br /&gt;
WAN настраиваем как обычно.&amp;lt;br /&amp;gt;&lt;br /&gt;
Данные от провайдера:&lt;br /&gt;
 Port - 0&lt;br /&gt;
 VPI - 8&lt;br /&gt;
 VCI - 35&lt;br /&gt;
 Connection Type - PPPoE&lt;br /&gt;
 Encapsulation Mode  - LLS/SNAP-BRIDGING&lt;br /&gt;
 Вводим Login и пароль (szt, szt)&lt;br /&gt;
&lt;br /&gt;
Настройка взята [http://allwow.ru/forum/viewthread.php?thread_id=156 тут]&lt;br /&gt;
{|&lt;br /&gt;
|[[Изображение:Login ADSL modem.png|left|150px|Login modem]]&lt;br /&gt;
|Далее заходим на модем через браузер, чтобы открыть на нем порт.&amp;lt;br /&amp;gt;Для этого в браузере пишем 192.168.0.1 или 192.168.1.1&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:ADSL NAT.png|150px|left|Вкладка NAT ADSL модема]]&lt;br /&gt;
|Далее заходите в NAT и открываете порт своего модема. &amp;lt;br /&amp;gt;&#039;&#039;&#039;Примечание: У всех модемы разные, и как открывать порты узнавайте на сайте производителя&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:Port NAT ADSL.png|150px|left|Открытие портов NAT-&amp;gt;Port]]&lt;br /&gt;
|Откройте порты 80, 22, 8245. Надо открыть универсальный TCP/UDP порт, или один TCP и одни UDP.&lt;br /&gt;
|-&lt;br /&gt;
|[[Изображение:DMZ host ADSL.png|150px|left|Настройка DMZ]]&lt;br /&gt;
| Пропишите соответствующий DMZ host. Это ip адрес вашего сервера, обычно 192.168.1.2.&amp;lt;br /&amp;gt;&lt;br /&gt;
Далее сохраните настройки модема.&lt;br /&gt;
|}&lt;br /&gt;
Перезапустите NOIP.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# service noip stop&lt;br /&gt;
# service noip start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка программы]&lt;br /&gt;
&lt;br /&gt;
==Если NOIP не правильно определяет адрес==&lt;br /&gt;
Если мы прокинули порт на модеме, а noip определяет наш адрес как 192.168.1.2 (адрес интерфейса), то можно поступить так.&amp;lt;br /&amp;gt;&lt;br /&gt;
1. Исключаем noip из сервисов, например, с помощью drakxconf (Для Mandriva).&amp;lt;br /&amp;gt;&lt;br /&gt;
2. Устанавливаем билиотеку php-cli, если она не установлена&lt;br /&gt;
&amp;lt;pre&amp;gt;$sudo urpmi php-cli&amp;lt;/pre&amp;gt;&lt;br /&gt;
2. Создаем файл &#039;&#039;&#039;/etc/scripts/myip.php&#039;&#039;&#039;, который определяет наш IP адрес через сайт www.myip.ru и отправляет его на сайт NOIP.&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/usr/bin/php&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
$page = file_get_contents(&#039;http://www.myip.ru/get_ip.php?loc=http://www.myip.ru/&#039;); &lt;br /&gt;
//echo $page;&lt;br /&gt;
preg_match_all(&#039;|&amp;lt;TR&amp;gt;&amp;lt;TD bgcolor=white align=center valign=middle&amp;gt;(.+)&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;|&#039;,$page,$result); &lt;br /&gt;
$rez=$result[1][rand(0,0)];&lt;br /&gt;
//echo $rez;&lt;br /&gt;
exec (&#039;/usr/local/bin/noip2 -i&#039;.$rez); &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Добавляем в crontab задание&lt;br /&gt;
&amp;lt;pre&amp;gt;# Отправка в noip IP адреса &lt;br /&gt;
*/10 *  *  *  *   root    /etc/scripts/myip.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
И теперь каждые 10 минут скрипт будет определять Ваш внешний IP адрес и отправлять его на NOIP.&lt;/div&gt;</summary>
		<author><name>Liaka</name></author>
	</entry>
	<entry>
		<id>https://miac.volmed.org.ru/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%84%D0%B0%D0%B5%D1%80%D0%B2%D0%BE%D0%BB%D0%B0&amp;diff=3162</id>
		<title>Настройка фаервола</title>
		<link rel="alternate" type="text/html" href="https://miac.volmed.org.ru/wiki/index.php?title=%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%84%D0%B0%D0%B5%D1%80%D0%B2%D0%BE%D0%BB%D0%B0&amp;diff=3162"/>
		<updated>2013-02-26T10:48:07Z</updated>

		<summary type="html">&lt;p&gt;Liaka: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Описание скрипта фаервола==&lt;br /&gt;
:Вообще, прежде чем пытаться настроить фаервол, очень рекомендую прочитать [http://www.opennet.ru/docs/RUS/iptables/ Руководство по iptables (Iptables Tutorial 1.1.19)]. Также можно почитать [http://help-fr.info/ сайт] посвященный iptables.&lt;br /&gt;
:Тут я приведу свой скрипт настройки фаервола, который почти целиком взят из этого описания, и может быть использован как основа для вашей системы. Если Вы найдете какие то замечания, прошу сообщить мне.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка фаервола]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Немножкко о задаче.===&lt;br /&gt;
#Есть сервер с двумя интерфейсами (eth0 и eth1)&amp;lt;br /&amp;gt;&#039;&#039;&#039;eth0&#039;&#039;&#039; смотрит в интернет и его адрес 213.54.25.11&amp;lt;br /&amp;gt;&#039;&#039;&#039;eth1&#039;&#039;&#039; смотрит в локальную сеть и его адрес 172.16.130.8&lt;br /&gt;
# Для доступа в интернет на сервере поднят VPN сервер с с адресом 192.168.5.1 и диаппазоном выдаваемых адресов 192.168.10.0/24&lt;br /&gt;
# Необходимо защитить сервер и с наружи и изнутри&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source(s):&#039;&#039;&#039;  [http://www.downloadranking.com  Настройка фаервола]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Сам скрипт.===&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/sh&lt;br /&gt;
#&lt;br /&gt;
#&lt;br /&gt;
# Этот скрипт для свободного распостранения. Вы можете его менять по своему&lt;br /&gt;
# усмотрению&lt;br /&gt;
# Он распостраняетяс под GNU General Public License.&lt;br /&gt;
# Никаких ГАРАНТИЙ нет, что он будет правильно работать&lt;br /&gt;
# Вы устанавливаете его на свой страх и риск.&lt;br /&gt;
#&lt;br /&gt;
# Сначала сбросим все правила, которые были до этого&lt;br /&gt;
/etc/init.d/iptables stop&lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#&lt;br /&gt;
# 1. Configuration options.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.1 Internet Configuration.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
INET_IP=&amp;quot;213.54.25.11&amp;quot;          # Арес интерфейса, который смотрит в интернет&lt;br /&gt;
INET_IFACE=&amp;quot;eth0&amp;quot;               # Имя интерфейса&lt;br /&gt;
INET_BROADCAST=&amp;quot;192.168.10.255&amp;quot;&lt;br /&gt;
LAN_VPN_RANGE=&amp;quot;192.168.10.0/24&amp;quot; # Диапазон адресов VPN сети, имеющей доступ&lt;br /&gt;
                                # в инет&lt;br /&gt;
LAN_VPN=&amp;quot;192.168.5.1&amp;quot;           # Адрес VPN сервера&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.1.1 DHCP&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.1.2 PPPoE&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.2 Local Area Network configuration.&lt;br /&gt;
#&lt;br /&gt;
# your LAN&#039;s IP range and localhost IP. /24 means to only use the first 24&lt;br /&gt;
# bits of the 32 bit IP address. the same as netmask 255.255.255.0&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
LAN_IP=&amp;quot;172.16.130.8&amp;quot;           # Ip адрес интерфейса локальной сети&lt;br /&gt;
LAN_IP_RANGE=&amp;quot;172.16.130.0/24&amp;quot;  # Диапазон адресов локальной сети&lt;br /&gt;
LAN_IFACE=&amp;quot;eth1&amp;quot;                # Имя интерфейса локальной сети&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.3 DMZ Configuration.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.4 Localhost Configuration.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
LO_IFACE=&amp;quot;lo&amp;quot;&lt;br /&gt;
LO_IP=&amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.5 IPTables Configuration.&lt;br /&gt;
#&lt;br /&gt;
# Путь, где находится iptables.&lt;br /&gt;
IPTABLES=&amp;quot;/usr/local/sbin/iptables&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 1.6 Other Configuration.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#&lt;br /&gt;
# 2. Module loading.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Needed to initially load modules&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
/sbin/depmod -a&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 2.1 Загружаем необходимые модули&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
/sbin/modprobe ip_tables&lt;br /&gt;
/sbin/modprobe ip_conntrack&lt;br /&gt;
/sbin/modprobe iptable_filter&lt;br /&gt;
/sbin/modprobe iptable_mangle&lt;br /&gt;
/sbin/modprobe iptable_nat&lt;br /&gt;
/sbin/modprobe ipt_LOG&lt;br /&gt;
/sbin/modprobe ipt_limit&lt;br /&gt;
/sbin/modprobe ipt_state&lt;br /&gt;
/sbin/modprobe ipt_owner&lt;br /&gt;
/sbin/modprobe ipt_REJECT&lt;br /&gt;
/sbin/modprobe ipt_MASQUERADE&lt;br /&gt;
/sbin/modprobe ip_conntrack_ftp&lt;br /&gt;
/sbin/modprobe ip_conntrack_irc&lt;br /&gt;
/sbin/modprobe ip_nat_ftp&lt;br /&gt;
/sbin/modprobe ip_nat_irc&lt;br /&gt;
# Модули для работы pptp&lt;br /&gt;
/sbin/modprobe ip_conntrack_pptp&lt;br /&gt;
/sbin/modprobe ip_nat_pptp&lt;br /&gt;
/sbin/modprobe ip_gre&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 2.2 Non-Required modules&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#&lt;br /&gt;
# 3. /proc set up.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 3.1 Required proc configuration&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
# активация TCP SYN Cookie Protection&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/tcp_syncookies&lt;br /&gt;
&lt;br /&gt;
# отключение IP Source Routing&lt;br /&gt;
echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/conf/all/accept_source_route&lt;br /&gt;
&lt;br /&gt;
# отключение ICMP Redirect&lt;br /&gt;
#echo 0 &amp;gt; /proc/sys/net/ipv4/conf/all/accept_redirects&lt;br /&gt;
&lt;br /&gt;
# активация IP Spoofing Protection&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt;  /proc/sys/net/ipv4/conf/all/rp_filter&lt;br /&gt;
&lt;br /&gt;
# игнорирование Broadcast Request&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts&lt;br /&gt;
&lt;br /&gt;
# сообщения о Bad Error Message&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt;  /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
# Если сильно достают неправильные пакеты (martian source)в логах&lt;br /&gt;
# отключаем лог martian source на всех интерфейсах&lt;br /&gt;
#echo &amp;quot;0&amp;quot; &amp;gt; /proc/sys/net/ipv4/conf/all/log_martians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 3.2 Non-Required proc configuration&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/conf/all/rp_filter&lt;br /&gt;
#echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/conf/all/proxy_arp&lt;br /&gt;
#echo &amp;quot;1&amp;quot; &amp;gt; /proc/sys/net/ipv4/ip_dynaddr&lt;br /&gt;
&lt;br /&gt;
###########################################################################&lt;br /&gt;
#&lt;br /&gt;
# 4. rules set up.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# 4.1 Filter table&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.1.1 Установка политики по умолчанию&lt;br /&gt;
#&lt;br /&gt;
#set -x&lt;br /&gt;
$IPTABLES -P INPUT DROP&lt;br /&gt;
$IPTABLES -P OUTPUT DROP&lt;br /&gt;
$IPTABLES -P FORWARD DROP&lt;br /&gt;
#$IPTABLES -P INPUT ACCEPT&lt;br /&gt;
#$IPTABLES -P OUTPUT ACCEPT&lt;br /&gt;
#$IPTABLES -P FORWARD ACCEPT&lt;br /&gt;
# По умолчанию все запретить&lt;br /&gt;
#&lt;br /&gt;
# 4.1.2 Создание пользовательских цепочек, которые будут использоваться&lt;br /&gt;
# позже.&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Цепочка для  bad tcp packets&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -N bad_tcp_packets&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Создание раздельных цепочек для прохождения ICMP, TCP and UDP пакетов&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -N allowed&lt;br /&gt;
$IPTABLES -N tcp_packets&lt;br /&gt;
$IPTABLES -N udp_packets&lt;br /&gt;
$IPTABLES -N icmp_packets&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.1.3 Create content in userspecified chains&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# bad_tcp_packets chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \&lt;br /&gt;
-m state --state NEW -j REJECT --reject-with tcp-reset&lt;br /&gt;
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \&lt;br /&gt;
--log-prefix &amp;quot;New not syn:&amp;quot;&lt;br /&gt;
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# allowed chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A allowed -p TCP --syn -j ACCEPT&lt;br /&gt;
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
$IPTABLES -A allowed -p TCP -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# TCP rules&lt;br /&gt;
#&lt;br /&gt;
# Создаем правила для TCP пакетов ( ту мы открываем общие порты для внутренней&lt;br /&gt;
# и внешней сети)&lt;br /&gt;
for i in 21 22 25 53 80 110 113 123 443 465 1723 5190 10000&lt;br /&gt;
     do&lt;br /&gt;
        $IPTABLES -A tcp_packets -p TCP -s 0/0 --dport $i -j allowed&lt;br /&gt;
done&lt;br /&gt;
# 21 - ftp порт&lt;br /&gt;
# 22 - ssh порт&lt;br /&gt;
# 25 - smtp&lt;br /&gt;
# 53 - DNS&lt;br /&gt;
# 80 - http&lt;br /&gt;
# 110 - pop3&lt;br /&gt;
# 113 - INETTD&lt;br /&gt;
# 123 - NTP служба точного времени&lt;br /&gt;
# 445 - SMB&lt;br /&gt;
# 443 - HTTPS&lt;br /&gt;
# 465 - SMTPS&lt;br /&gt;
# 24537 - Torrent agent&lt;br /&gt;
# 6667- Интернет reley chat&lt;br /&gt;
# 1194 - openVPN&lt;br /&gt;
# 1723 - VPN&lt;br /&gt;
# 5190 - ICQ&lt;br /&gt;
# 10000 - WEBMIN&lt;br /&gt;
# 16384-16394- Голосовая почта&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# 3128- squid только для внутренней  VPN сети&lt;br /&gt;
#&lt;br /&gt;
$IPTABLES -A tcp_packets -p TCP -s $LAN_VPN_RANGE --dport 3128 -j allowed&lt;br /&gt;
# Открываем порты для Samba только для внутренней сети&lt;br /&gt;
#$IPTABLES -A INPUT -p TCP -s $LAN_IP_RANGE  --dport 137:139 -j ACCEPT&lt;br /&gt;
#$IPTABLES -A INPUT -p UDP -s $LAN_IP_RANGE  --destination-port 137:139 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# UDP ports&lt;br /&gt;
#&lt;br /&gt;
for i in 53 123 1000:1060 4000&lt;br /&gt;
    do&lt;br /&gt;
        $IPTABLES -A udp_packets -p UDP -s 0/0 --dport $i -j ACCEPT&lt;br /&gt;
done&lt;br /&gt;
# 53 DNS&lt;br /&gt;
# 123 NTP служба точного времени&lt;br /&gt;
# 2074 передача голоса&lt;br /&gt;
#&lt;br /&gt;
# 1000:1060 - при проблемах с DNS&lt;br /&gt;
# На клиенте (в винде) запускаем ipconfig /all и видим dns, скажем, 1.2.3.4 &lt;br /&gt;
# С клиента же делаем пинг 1.2.3.4 - он есть&lt;br /&gt;
# С клиента же делаем пинг ya.ru - пинга нет&lt;br /&gt;
#&lt;br /&gt;
# 4000 ICQ&lt;br /&gt;
# 1194 - openVPN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# In Microsoft Networks you will be swamped by broadcasts. These lines&lt;br /&gt;
# will prevent them from showing up in the logs.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d $INET_BROADCAST \&lt;br /&gt;
#--destination-port 135:139 -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If we get DHCP requests from the Outside of our network, our logs will&lt;br /&gt;
# be swamped as well. This rule will block them from getting logged.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#$IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 \&lt;br /&gt;
#--destination-port 67:68 -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# ICMP rules&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT&lt;br /&gt;
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
# разрешаем gre траффик&lt;br /&gt;
$IPTABLES -A INPUT -s 0/0 -d 0/0  -p gre -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.1.4 INPUT chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Bad TCP packets we don&#039;t want.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Тут мы разрешаем пакеты со спец сети  not part of the Internet&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Данным IP адресам полностью доверяем&lt;br /&gt;
#$IPTABLES -A INPUT -p ALL -s 172.16.130.1   -j ACCEPT&lt;br /&gt;
#$IPTABLES -A INPUT -p ALL -s 172.16.130.101   -j ACCEPT&lt;br /&gt;
#$IPTABLES -A INPUT -p ALL -s 172.16.130.102   -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Правила для входящих пакетов с любой сети.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
$IPTABLES -A INPUT -p ALL -d $LAN_IP -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
$IPTABLES -A INPUT -p ALL -d $LAN_VPN -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
$IPTABLES -A INPUT -p TCP -j tcp_packets&lt;br /&gt;
$IPTABLES -A INPUT -p UDP -j udp_packets&lt;br /&gt;
$IPTABLES -A INPUT -p ICMP -j icmp_packets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Anti-ssh-bruteforce&lt;br /&gt;
# После 3 попыток подключиться в течение 60 секунд, робот блокируется и отваливает :)&lt;br /&gt;
# и прочти нет мусора в логах, а главное - лишнего траффика, в отличие от pam_abl.&lt;br /&gt;
# По желанию можно увеличить параметры --hitcount и --seconds.&lt;br /&gt;
$IPTABLES -A INPUT -p tcp --syn --dport 22 -m recent --name radiator --set&lt;br /&gt;
$IPTABLES -A INPUT -p tcp --syn --dport 22 -m recent --name radiator --update --seconds 60 --hitcount 3 -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# If you have a Microsoft Network on the outside of your firewall, you may&lt;br /&gt;
# also get flooded by Multicasts. We drop them so we do not get flooded by&lt;br /&gt;
# logs&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#$IPTABLES -A INPUT -i $INET_IFACE -d 224.0.0.0/8 -j DROP&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Log weird packets that don&#039;t match the above.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \&lt;br /&gt;
--log-level DEBUG --log-prefix &amp;quot;IPT INPUT packet died: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.1.5 Правила для проходящих пакетов&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Bad TCP packets we don&#039;t want&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Accept the packets we actually want to forward&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A FORWARD -p TCP -j  tcp_packets&lt;br /&gt;
$IPTABLES -A FORWARD -p UDP -j udp_packets&lt;br /&gt;
$IPTABLES -A FORWARD -p ICMP -j icmp_packets&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Log weird packets that don&#039;t match the above.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \&lt;br /&gt;
--log-level DEBUG --log-prefix &amp;quot;IPT FORWARD packet died: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.1.6 Правила для исходящих пакетов&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Bad TCP packets we don&#039;t want.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Special OUTPUT rules to decide which IP&#039;s to allow.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT&lt;br /&gt;
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT&lt;br /&gt;
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT&lt;br /&gt;
$IPTABLES -A OUTPUT -p ALL -s $LAN_VPN   -j ACCEPT&lt;br /&gt;
#&lt;br /&gt;
# Log weird packets that don&#039;t match the above.&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \&lt;br /&gt;
--log-level DEBUG --log-prefix &amp;quot;IPT OUTPUT packet died: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# 4.2 nat table&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.2.1 Set policies&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.2.2 Create user specified chains&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.2.3 Create content in user specified chains&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.2.4 PREROUTING chain&lt;br /&gt;
#&lt;br /&gt;
# Организуем празрачный прокси&lt;br /&gt;
&lt;br /&gt;
$IPTABLES -t nat -A PREROUTING  -s $LAN_VPN_RANGE -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.2.5 POSTROUTING chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Enable simple IP Forwarding and Network Address Translation&lt;br /&gt;
#&lt;br /&gt;
# Делаем NAT&lt;br /&gt;
$IPTABLES -t nat -A POSTROUTING  -s $LAN_VPN_RANGE -j SNAT --to-source $INET_IP&lt;br /&gt;
#&lt;br /&gt;
# 4.2.6 OUTPUT chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
######&lt;br /&gt;
# 4.3 mangle table&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.1 Set policies&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.2 Create user specified chains&lt;br /&gt;
#&lt;br /&gt;
# 4.3.3 Create content in user specified chains&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.4 PREROUTING chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.5 INPUT chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.6 FORWARD chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.7 OUTPUT chain&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# 4.3.8 POSTROUTING chain&lt;br /&gt;
#&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ошибки при работе DNS===&lt;br /&gt;
Вобщем столкнулся с такой проблемой.&amp;lt;br /&amp;gt;&lt;br /&gt;
На клиенте (в винде) запускаем ipconfig /all и видим dns, скажем, 1.2.3.4 &amp;lt;br /&amp;gt;&lt;br /&gt;
С клиента же делаем пинг 1.2.3.4 - он есть &amp;lt;br /&amp;gt;&lt;br /&gt;
С клиента же делаем пинг ya.ru - пинга нет&amp;lt;br /&amp;gt;&lt;br /&gt;
Решилось откритием портов UDP c 1000 по 1060.&amp;lt;br /&amp;gt;&lt;br /&gt;
В скрипте это отражено.&lt;br /&gt;
&lt;br /&gt;
==При использовании VPN подключения к провайдеру==&lt;br /&gt;
Тут оказалось не все так просто.&lt;br /&gt;
# VPN соединение к провайдеру может подняться не сразу, а через некоторое время, поэтому могут быть проблемы с &#039;&#039;&#039;default route&#039;&#039;&#039;.&lt;br /&gt;
: Вот одно из решений данной проблемы.&lt;br /&gt;
===Подключение к провайдеру через VPN канал===&lt;br /&gt;
# Сначала установим пакет pptp-command*.rpm&lt;br /&gt;
# Настроим [[Настройка pptp-command клиента для подключения к VPN серверу | соединение]]&lt;br /&gt;
# Далее в /etc/rc.d/rc.local добавляем строки&lt;br /&gt;
&amp;lt;pre&amp;gt;# Поднимаем VPN соединение до провайдера с именем navb&lt;br /&gt;
pptp-command start navb&lt;br /&gt;
# Удаляем default route&lt;br /&gt;
route del default&lt;br /&gt;
# Поднимаем defaut route&lt;br /&gt;
route add default ppp0&lt;br /&gt;
# Запускаем фаервол&lt;br /&gt;
/etc/sysconfig/iptables.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Скрипт по проверке и поднятию default route===&lt;br /&gt;
Тк соединение может установиться не сразу, то команда &lt;br /&gt;
&amp;lt;pre&amp;gt;route add default ppp0&amp;lt;/pre&amp;gt;может не сработать.&amp;lt;br /&amp;gt;&lt;br /&gt;
Для последующего поднятия default route делаем следующий скрипт (&#039;&#039;&#039;/etc/scripts/route_exist.sh&#039;&#039;&#039;).&amp;lt;br /&amp;gt;&lt;br /&gt;
В этом же скрипте запускаем службу VPN сервера (pptpd), что бы не было захвата интерфейса ppp0, запускаем фаервол - после определения внешнего ip VPN соединения и запуск службы динамического [[Настройка программы no-ip | DNS]].&lt;br /&gt;
&amp;lt;pre&amp;gt;#!/bin/bash&lt;br /&gt;
# set -x&lt;br /&gt;
# Если соединение есть, но нет default route, то&lt;br /&gt;
if [ -z &amp;quot;`ip route| grep ppp0 | grep default`&amp;quot; ]; then&lt;br /&gt;
    route del default&lt;br /&gt;
    route add default ppp0&lt;br /&gt;
    # Запускаем фаервол&lt;br /&gt;
    /etc/sysconfig/iptables.sh&lt;br /&gt;
    echo &amp;quot;$date1        $IP_BL&amp;quot; &amp;gt;&amp;gt; file.int&lt;br /&gt;
fi&lt;br /&gt;
# Если пинг не проходит - потеря 100%, то перезапускаем соединение&lt;br /&gt;
if [ -n &amp;quot;`ping  -w5 -W2 -q www.ru | grep 100%`&amp;quot; ]; then&lt;br /&gt;
    pptp-command stop&lt;br /&gt;
fi&lt;br /&gt;
# Проверяем поднят ли интерфейс ppp0&lt;br /&gt;
if [ -z &amp;quot;`ip route | grep ppp0`&amp;quot; ]; then&lt;br /&gt;
    # Если нет, то поднять&lt;br /&gt;
    pptp-command start navb&lt;br /&gt;
    # Находим ip адрес нового соединения&lt;br /&gt;
    IP_BL=`ifconfig  ppp0 | grep -A 1 ppp0| grep inet |cut -d &amp;quot;:&amp;quot; -f2 |cut -d &amp;quot; &amp;quot; -f1`&lt;br /&gt;
    #echo 2&lt;br /&gt;
    date1=`date`&lt;br /&gt;
    #set -x&lt;br /&gt;
    route del default&lt;br /&gt;
    route add default ppp0&lt;br /&gt;
    # Если сервис pptpd не запущен, то запускаем&lt;br /&gt;
    service pptpd start&lt;br /&gt;
    # Запускаем фаервол&lt;br /&gt;
    /etc/sysconfig/iptables.sh&lt;br /&gt;
    # Send new ip address to no-ip.com&lt;br /&gt;
    /usr/local/bin/noip2 -i $IP_BL&lt;br /&gt;
    # Запускаем програму динамического имени&lt;br /&gt;
    /etc/init.d/noip2 start&lt;br /&gt;
    echo &amp;quot;$date1        $IP_BL&amp;quot; &amp;gt;&amp;gt; file.int&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
И запускаем его из cron каждые 5 минут. Для этого добавляем следующие строки в &#039;&#039;&#039;/etc/crontab&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;# Проверка и поднятие default route&lt;br /&gt;
*/5 *  *  *  *   root    /etc/scripts/route_exist.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Изменения в файле фаервола /etc/sysconfig/iptables.sh===&lt;br /&gt;
:Оперделения интерфейса VPN подключения к провайдеру (при динамическом ip).&lt;br /&gt;
&amp;lt;pre&amp;gt;# Арес интерфейса, который смотрит в интернет&lt;br /&gt;
INET_IP=`ifconfig | grep -A 1 ppp0| grep inet |cut -d &amp;quot;:&amp;quot; -f2 |cut -d &amp;quot; &amp;quot; -f1`&amp;lt;/pre&amp;gt;&lt;br /&gt;
:И все строчки, где есть переменная $INET_IP проверяем на наличие этого ip адреса&amp;lt;br /&amp;gt;&lt;br /&gt;
:Например:&lt;br /&gt;
&amp;lt;pre&amp;gt;if [ -n &amp;quot;$INET_IP&amp;quot; ]; then&lt;br /&gt;
    $IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT&lt;br /&gt;
fi&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Liaka</name></author>
	</entry>
</feed>