adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
Эх - настройка iptables
На страницу 1 2 3
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS
Автор Сообщение
David
Гуру
СообщениеДобавлено: Чт 17-07-08 : 23-52    Заголовок сообщения: Ответить с цитатой

Сброс вроде так
источник
Код:
#
# Configurations
#
IPTABLES="/usr/sbin/iptables"

#
# reset the default policies in the filter table.
#
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

#
# reset the default policies in the nat table.
#
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT

#
# reset the default policies in the mangle table.
#
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT

#
# flush all the rules in the filter and nat tables.
#
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
#
# erase all chains that's not default in filter and nat table.
#
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X


Внешний сервер ничего не знает о существовании за файрволом локальной сети и компа в нем. Все что внешний сервер знает - это твой внешний ip-адрес (модема). Модем его напрямую пробрасывает на адрес компа (там где pppoe), а дальше мы меняем заголовок на адрес компа в локалке и разрешаем пройти. Комп пакет получает.
Вот тут конечно появлется интересный вопрос: меняет ли модем бриджем адрес в заголовке сам или нет. Если бы модем роутером был (и на нем NAT настроен), тогда однозначно меняет. А вот с бриджем чего-то я даже и не знаю...
Последний раз редактировалось: David (Чт 17-07-08 : 23-53), всего редактировалось 1 раз
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
serg1982
Форумчанин
СообщениеДобавлено: Чт 17-07-08 : 23-53    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr писал(а):
Так, подскажите пожалуйста - как сбросить все правила на те, что грузятся автоматом при старте iptables? А то моих тут уже дофига стало - старые мешаются в логе.

iptables -F
iptables -F -t nat
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Пт 18-07-08 : 00-13    Заголовок сообщения: Ответить с цитатой

Цитата:
меняет ли модем бриджем адрес в заголовке сам или нет
ну отсюда логично вытекает вопрос: как это можно посмотреть? Smile
Цитата:
iptables -F
ну блин! Оно совсем сбросило настройки! Пришлось будить маму и перезагружать сервер (я-то через удаленное управление сижу на серваке, а оно закрылось от сброса), т.к. сервак в маминой комнате стоит Sad
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
David
Гуру
СообщениеДобавлено: Пт 18-07-08 : 00-23    Заголовок сообщения: Ответить с цитатой

чего-то запутались окончательно....
напиши результат ifconfig и route
P.S. а модем роутером никак?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
serg1982
Форумчанин
СообщениеДобавлено: Пт 18-07-08 : 00-29    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr писал(а):
Цитата:
меняет ли модем бриджем адрес в заголовке сам или нет
ну отсюда логично вытекает вопрос: как это можно посмотреть? Smile

tcpdump

Цитата:
iptables -F
ну блин! Оно совсем сбросило настройки! Пришлось будить маму и перезагружать сервер (я-то через удаленное управление сижу на серваке, а оно закрылось от сброса), т.к. сервак в маминой комнате стоит Sad


ну извени ты спросил все - я и посоветовал...

Есть мысль что еси сделать вот так

iptables -t nat -A PREROUTING -d 90.189.x.x -p tcp --dport 1234 -j DNAT --to-destination 192.168.0.3:1234
iptables -t nat -A PREROUTING -d 90.189.x.x -p udp --dport 1234 -j DNAT --to-destination 192.168.0.3:1234
это повторять с разными портами для всех узлов сети
а настройках dc++ указывать firewall 192.168.0.1

iptables -t nat -A POSTROUTING -p tcp -o eth1 -j SNAT --to-source 90.189.x.x
iptables -t nat -A POSTROUTING -p udp -o eth1 -j SNAT --to-source 90.189.x.x
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Пт 18-07-08 : 00-31    Заголовок сообщения: Ответить с цитатой

Цитата:
P.S. а модем роутером никак?
не хочу. Iptables имхо и нужен для того, чтобы модем в бридже работал. А если модем в роутер, то нафига файервол на компе настраивать? А тогда нафига линукс было ставить? Wink Нет уж - надо разобраться и настроить.
Код:
eth0      Link encap:Ethernet  HWaddr 00:1a:4d:5a:12:9b
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:257796 errors:0 dropped:0 overruns:0 frame:0
          TX packets:299315 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:196006892 (186.9 MB)  TX bytes:226969664 (216.4 MB)
          Interrupt:219 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:11:95:fc:70:63
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61152 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123350 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5187204 (4.9 MB)  TX bytes:154671559 (147.5 MB)
          Interrupt:18 Base address:0x6000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:515 errors:0 dropped:0 overruns:0 frame:0
          TX packets:515 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:43772 (42.7 KB)  TX bytes:43772 (42.7 KB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:90.189.142.25  P-t-P:213.228.116.7  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:257584 errors:0 dropped:0 overruns:0 frame:0
          TX packets:299063 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:190286356 (181.4 MB)  TX bytes:219163839 (209.0 MB)

Код:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
nsk-bbar1.ncc.s *               255.255.255.255 UH    0      0        0 ppp0
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         *               0.0.0.0         U     0      0        0 ppp0

Это после загрузки компа, чистые правила. Посмотри, если что сообразишь с конфигом iptables, то дописывай, а я уже не могу - спать хочу, дальше завтра буду разбираться. Спасибо за оказанную помощь! Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
David
Гуру
СообщениеДобавлено: Пт 18-07-08 : 01-37    Заголовок сообщения: Ответить с цитатой

ProFfeSsoRr
Вообщем после долгих раздумий - вроде так должно работать.
$MODEM - внешний ip
$COMP - конкретный комп в локальной сети
$PORTS - перечисленные черерз запятую порты, используемые компами в локальной сети для DC

все что пришло на внешний адрес на 1234, 1235 - подставляем адрес получателя как адрес конкретной машины (одной). Разные компы локальной сети придется сажать на разные порты, иначе непонятно кому именно предназначается входящий пакет на наш внешний адрес по одному порту.

Код:
$IPTABLES -t nat -A PREROUTING -d $MODEM -p tcp --dport 1234 -j DNAT --to-destination $COMP:1234
$IPTABLES -t nat -A PREROUTING -d $MODEM -p udp  --dport 1235 -j DNAT --to-destination $COMP:1235
этих правил должно быть столько, сколько компьютеров в сети будет использовать DC (порты разные для каждой машины)

разрешаем вход по всем портам используемым в локалке для DC. правило действует на все компьютеры локальной сети
Код:
$IPTABLES -A FORWARD -d 192.168.0.0/24 -p tcp -m multiport --dport $PORTS -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.0.0/24 -p udp -m multiport --dport $PORTS  -j ACCEPT


разрешаем выход по всем портам используемым в локалке для DC. правило действует на все компьютеры локальной сети
Код:
$IPTABLES -A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dport $PORTS -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.0.0/24 -p udp -m multiport --dport $PORTS -j ACCEPT


все что идет с компа во внешку подставляем адрес отправителя как наш внешний
Код:
$IPTABLES -t nat -A POSTROUTING -s $COMP -p tcp --dport 1234 -j SNAT --to-source $MODEM:1234
$IPTABLES -t nat -A POSTROUTING -s $COMP -p udp --dport  1235 -j SNAT --to-source $MODEM:1235
этих правил должно быть столько, сколько компьютеров в сети будет использовать DC (порты разные для каждой машины)

P.S. Правила написаны в порядке прохода пакетов по ним.
т.е. сначала
nat prerouting
filter (уже измененных пакетов)
nat postrouting
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 25-09-08 : 11-20    Заголовок сообщения: Ответить с цитатой

Переустановил вчера линукс на сервере, и мой вопрос в этом топике разрешился вот такими вот правилами:
Код:
iptables -F; iptables -t nat -F; iptables -t mangle -F
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -P INPUT DROP   #only if the first two are succesful
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m icmp -i ppp0 --icmp-type source-quench -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp0 --icmp-type source-quench -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 52441 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 52441 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --sport 52442 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 52442 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1234 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1234 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --sport 1235 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 1235 -j ACCEPT

Там и торрент, и DC. А первые правила - для доступа в интернет из локалки.
Только теперь более веселая проблема. У меня на сервере 2 программы, которые по SSH общаются друг с другом. И пообщаться почему-то не могут. Попробовал сделать вот так:
Код:
iptables -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
и не помогло. Прога пишет, что соединение по 127.0.0.1:22 не удалось. И я, если честно, не могу понять, как так файервол блокирует обращения компа к самому себе. Вот какие сейчас правила работают:
Код:
# Generated by iptables-save v1.3.8 on Thu Sep 25 11:15:40 2008
*mangle
:PREROUTING ACCEPT [3190735:296401105]
:INPUT ACCEPT [3098981:236671016]
:FORWARD ACCEPT [91752:59729977]
:OUTPUT ACCEPT [4590636:6037775910]
:POSTROUTING ACCEPT [4686847:6098004344]
COMMIT
# Completed on Thu Sep 25 11:15:40 2008
# Generated by iptables-save v1.3.8 on Thu Sep 25 11:15:40 2008
*nat
:PREROUTING ACCEPT [131575:12491506]
:POSTROUTING ACCEPT [4565:425964]
:OUTPUT ACCEPT [80430:6495541]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Thu Sep 25 11:15:40 2008
# Generated by iptables-save v1.3.8 on Thu Sep 25 11:15:40 2008
*filter
:INPUT DROP [25772:2316341]
:FORWARD ACCEPT [2559:139131]
:OUTPUT ACCEPT [1989919:2575445779]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ! ppp0 -m state --state NEW -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 52441 -j ACCEPT
-A INPUT -p udp -m udp --dport 52442 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1234 -j ACCEPT
-A INPUT -p udp -m udp --dport 1235 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A FORWARD -i ppp0 -o ppp0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o ppp0 -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 52441 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 52442 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 1234 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 1235 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Thu Sep 25 11:15:40 2008
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
ProFfeSsoRr
Гуру
СообщениеДобавлено: Чт 25-09-08 : 19-54    Заголовок сообщения: Ответить с цитатой

И еще мне непонятно, почему не совсем работают те скрипты, которые я вижу везде на форуме. Например, везде диапазон портов если в переменную вписывают, то типа порт:порт - а у меня ругается на такую запись. И путь до iptables везде указывается, а у меня работает просто по "iptables". Но это-то как раз понятно Smile
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Ruslan.B.
Форумчанин
СообщениеДобавлено: Сб 8-11-08 : 01-37    Заголовок сообщения: Ответить с цитатой

Млин, я тоже с этим долго бился. В конце концов настроил. Инструкции-то в основном по редхат, а в Дебиане немного отличается.
Но потом я так случайно снёс всё /etc посредством неосторожного обращения с rm-r (((( А забекапенный /etc был ещё до настройки иптаблеса.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
TROLL_
Эксперт
СообщениеДобавлено: Пт 30-01-09 : 16-17    Заголовок сообщения: Ответить с цитатой

в продолжении темы о iptables. может кто подскажет.

#!/bin/bash

iptables -F
iptables -F -t nat
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

# traf local lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# ICMP
iptables -A INPUT -i eth0 -p icmp -j ACCEPT
iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT

# web
iptables -A INPUT -i eth0 -p tcp --sport 80 --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 -j ACCEPT

# web https
iptables -A INPUT -i eth0 -p tcp --sport 443 --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 1024:65535 --dport 443 -j ACCEPT


# webmin
iptables -A INPUT -s 192.168.1.7 -p tcp --dport 10000 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.7 -p tcp --sport 10000 -j ACCEPT

# mail pop3
iptables -A INPUT -i eth0 -p tcp --sport 110 --dport 1024:5999 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 1024:5999 --dport 110 -j ACCEPT

# mail smtp
iptables -A INPUT -i eth0 -p tcp --sport 25 --dport 1024:5999 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 1024:5999 --dport 25 -j ACCEPT

# imap, webamail (squirrelmail,roundcube),mail
iptables -A INPUT -i eth0 -p tcp --sport 993 --dport 1024:5999 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 1024:5999 --dport 993 -j ACCEPT


# http 81 reg users for mail, password and ... only lan
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 81 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -p tcp --sport 81 -j ACCEPT

#ftp (server,client)
iptables -A INPUT -i eth0 -p tcp --sport 21 --dport 0:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 0:65535 --dport 21 -j ACCEPT

# ssh only for admin IP
iptables -A INPUT -s 192.168.1.7 -p tcp --sport 22 --dport 1024:5999 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.7 -p tcp --sport 1024:5999 --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.7 -p tcp --sport 22 --dport 0:1023 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.7 -p tcp --sport 0:1023 --dport 22 -j ACCEPT

# DNS
iptables -A INPUT -i eth0 -p tcp --sport 53 --dport 0:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 0:65535 --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 --dport 0:65535 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 0:65535 --sport 53 -j ACCEPT


так вот... из всего этого написанного работает только icmp. помогите победить эту штуку!!!
модем роутером, интерфейс 1 - eth0.

на машине крутиться сайт(80,443,9999),ssh(22),почтовый сервер(pop3,imap,smtp,),ftp сервер,p2p сервер,openvpn
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS Часовой пояс: GMT + 7
На страницу 1 2 3
Страница 3 из 3

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы