Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> iptables
Начать новую тему   Ответить на тему   вывод темы на печать

iptables

Автор
Сообщение
DieSel
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 16.12.2006
Сообщения: 1339
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2011.11.09 18:15.18
Ответить с цитатой
есть комп с двумя сетевухами.. операционка CentOS (Вроде 5)
eth0 192.168.29.14 смотрит в сторону инета
eth1 192.168.10.2 в лакалку
стоит PPPoE, UTM5, UTM-RADIUS server.


задача раздать инет и посчитать трафик, отключить пользователя при каких либо условиях.
уперлось все настройку iptables

делаю так
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 192,168,29,14
В FORWORD DROP убиваю правило RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
инет на лакальных машинах пропадает
теперь пытаюсь пустить машинку по ip адресу
iptables -A FORWARD -s 192.168.10.5 -j ACCEPT
инет не появляется(((
подскажите где я в шары долблюсь??Sad
Посмотреть профиль Отправить личное сообщение
romper
Освоившийся



Зарегистрирован: 08.10.2011
Сообщения: 85


Статус: Offline
СообщениеДобавлено: 2011.11.09 19:02.27
Ответить с цитатой
Kerio Control

поставь и не майся )
Посмотреть профиль Отправить личное сообщение
DieSel
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 16.12.2006
Сообщения: 1339
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2011.11.09 19:16.23
Ответить с цитатой
тут не проблема что то поставить... тут задача от заказчика, которая мной не обсуждается...
_________________
Диагностика и ремонт авто. Ремонт РКПП.
Куплю Дизельное Топливо.
8-912-522-26-2семь
Посмотреть профиль Отправить личное сообщение
Rre
Заслуженный писатель



Зарегистрирован: 04.08.2008
Сообщения: 4461


Статус: Offline
СообщениеДобавлено: 2011.11.09 19:32.19
Ответить с цитатой
DieSel
Дим из за тебя пришлось лезть в консоль)
я вообще использую Stargazer ибо рулить надо из под винды да и под нево уже все заструганно. а принцип там простой: прошел аунтификацию, он выполнил правило iptables из конфига onConnect. все просто как три рубля)
вот отрывок моего конфига:

#===========IPv4==============================
$IPT -F
$IPT -X
$IPT -F -t nat

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
#==========IPv6==============================
ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP
ip6tables -A INPUT -i eth0 -j DROP
ip6tables -A FORWARD -j DROP

#============================================
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#==================localhost=================
#razreshim vse na lo
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
#==================ping in local=============
##podset1
##razreshim ping servera iz lokali
$IPT -A INPUT -s 10.0.0.0/24 -i eth1 -p icmp -j ACCEPT
$IPT -A OUTPUT -s 10.0.0.0/24 -o eth1 -p icmp -j ACCEPT
##podset2
$IPT -A INPUT -s 10.0.10.0/24 -i eth1 -p icmp -j ACCEPT
$IPT -A OUTPUT -s 10.0.10.0/24 -o eth1 -p icmp -j ACCEPT
#=========ping s servera v inet==============
#$IPT -A INPUT -p icmp -j ACCEPT
#$IPT -A FORWARD -p icmp -j ACCEPT
#$IPT -A OUTPUT -p icmp -j ACCEPT
$IPT -A INPUT -i eth0 -p icmp -j ACCEPT
$IPT -A OUTPUT -o eth0 -p icmp -j ACCEPT
#=========DNS server=========================
$IPT -A INPUT -p tcp --sport 53 -j ACCEPT
$IPT -A FORWARD -p tcp --sport 53 -j ACCEPT
$IPT -A FORWARD -p tcp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT
#=====st
$IPT -A FORWARD -i eth1 -s $vnet -o eth0 -j ACCEPT
$IPT -t nat -I POSTROUTING -s $adm -o eth0 -j SNAT --to-source $wan

Собсно два последних правила и нужны что бы выруливать по NAT в инет
старгейзер конкретно врубает после авторизации последнюю строку.
у тебя походу нехватает этих строк:
$IPT -A FORWARD -i eth1 -s $vnet -o eth0 -j ACCEPT
и строк с ESTABLISHED -хз есть ли они у тебя.
_________________
spice must flow
הבה נגילה ונשמחה
Посмотреть профиль Отправить личное сообщение
DieSel
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 16.12.2006
Сообщения: 1339
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2011.11.09 22:46.18
Ответить с цитатой
Ухх... спасибо огромное.. завтра на работе переварю...))))
_________________
Диагностика и ремонт авто. Ремонт РКПП.
Куплю Дизельное Топливо.
8-912-522-26-2семь
Посмотреть профиль Отправить личное сообщение
Rre
Заслуженный писатель



Зарегистрирован: 04.08.2008
Сообщения: 4461


Статус: Offline
СообщениеДобавлено: 2011.11.09 23:14.53
Ответить с цитатой
угу отпишись заработало или нет у тебя
_________________
spice must flow
הבה נגילה ונשמחה
Посмотреть профиль Отправить личное сообщение
Onix_R
Запомнил кнопки...


Пол: Пол:Муж.
Зарегистрирован: 09.11.2010
Сообщения: 159
Откуда: От верблюда

Статус: Offline
СообщениеДобавлено: 2011.11.10 01:52.13
Ответить с цитатой
DieSel
Есть у меня скрипт как раз для NATашки(У Rre он кстати тоже есть). Итак, что вам потребуется? Вот этот файлик, по крайней мере он мне очень пригодился в свое время, возможно архив с нормальным русским мануалом по iptables.
И собственно слегка модифицированный, простенький скрипт:

#!/bin/sh

# делаем резервную копию существующих правил со счетчиками в домашний каталог
# пользователя, который запустил сценарий
iptables-save -c > $HOME/backup_iptables_counters

# и еще одну копию, но без счетчиков
iptables-save > $HOME/backup_iptables_no_counters

#----------------------------------------------------------------------------
#            Модули
#----------------------------------------------------------------------------

# проверяем и подгружаем необходимые модули
depmod -a
modprobe ip_tables
modprobe ip_conntrack
modprobe iptable_nat

#----------------------------------------------------------------------------
#            Переменные
#----------------------------------------------------------------------------

# переменная ядра, отвечающая за форвардинг соединений
sysctl -w net.ipv4.ip_forward=1

EXTIF=""      # Переменная-интерфейс которая смотрит в интернет

INTIF=""      # Переменная-интерфейс которая смотрит во внутреннюю
         # сеть
IP_SERVER_INET=""   # Переменная IP адресс интерфейса $EXTIF

LOG_LEVEL=""      # Уровень журналирования транзитных пакетов

LOG_PREFIX=""      # Строка, которая добовляется к каждой записи в журнале

#-----------------------------------------------------------------------------
#             Фильтры
#-----------------------------------------------------------------------------

# очищаем цепочки и таблицы с правилами, определяем политики по умолчанию
iptables -P INPUT DROP
iptables -F INPUT
iptables -P OUTPUT DROP
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F

# журнал всех транзитных пакетов
iptables -t filter -A FORWARD -j LOG --log-level $LOG_LEVEL --log-prefix $LOG_PREFIX

# правила, разрещающие соединение с диапазона адресов внутренней сети
iptables -t filter -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.0.0/24 -j ACCEPT

#-----------------------------------------------------------------------------
#             NAT
#-----------------------------------------------------------------------------

# меняем адрес отправителя
iptables -t nat -A POSTROUTING -o $EXTIF -j SNAT --to-source $IP_SERVER_INET

#-----------------------------------------------------------------------------
#             Вывод и выход
#-----------------------------------------------------------------------------

echo
echo "Готово"
echo
exit 0

Надеюсь вы найдете здесь то что вы ищете.
_________________
Сыграем? Кто уронил систему — проиграл:
dd if=/dev/urandom of=/dev/kmem bs=1 count=1 seek=$RANDOM
Посмотреть профиль Отправить личное сообщение ICQ Number
romper
Освоившийся



Зарегистрирован: 08.10.2011
Сообщения: 85


Статус: Offline
СообщениеДобавлено: 2011.11.10 07:35.35
Ответить с цитатой
DieSel писал(а):
тут не проблема что то поставить... тут задача от заказчика, которая мной не обсуждается...


рулит в лине твой заказчик )) тож хочу. научите )))
Посмотреть профиль Отправить личное сообщение
romper
Освоившийся



Зарегистрирован: 08.10.2011
Сообщения: 85


Статус: Offline
СообщениеДобавлено: 2011.11.10 11:27.58
Ответить с цитатой
хотя керио и решает это
DieSel писал(а):
задача раздать инет и посчитать трафик, отключить пользователя при каких либо условиях.
уперлось все настройку iptables


но если сам хочешь реализовать это достойно уважения.
Посмотреть профиль Отправить личное сообщение
DieSel
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 16.12.2006
Сообщения: 1339
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2011.11.10 13:00.34
Ответить с цитатой
Onix_R
Rre
Большое спасибо за помощ...
времни нет детально все просмотреть и найти косяки, но инет раздается и не раздается по клику))))

Добавлено спустя 27 минут 25 секунд:

romper
За одно и пойму, как это работаетSmile
_________________
Диагностика и ремонт авто. Ремонт РКПП.
Куплю Дизельное Топливо.
8-912-522-26-2семь
Посмотреть профиль Отправить личное сообщение
romper
Освоившийся



Зарегистрирован: 08.10.2011
Сообщения: 85


Статус: Offline
СообщениеДобавлено: 2011.11.11 09:38.42
Ответить с цитатой
Молодчик!
Посмотреть профиль Отправить личное сообщение
Rre
Заслуженный писатель



Зарегистрирован: 04.08.2008
Сообщения: 4461


Статус: Offline
СообщениеДобавлено: 2011.11.24 10:10.45
Ответить с цитатой
следующая проблема: днс запросы ходят по этим правилам:

$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#=========DNS server=========================
$IPT -A INPUT -p tcp --sport 53 -j ACCEPT
$IPT -A FORWARD -p tcp --sport 53 -j ACCEPT
$IPT -A FORWARD -p tcp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 53 -j ACCEPT
$IPT -A INPUT -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --sport 53 -j ACCEPT
$IPT -A FORWARD -p udp --dport 53 -j ACCEPT
$IPT -A OUTPUT -p udp --dport 53 -j ACCEPT

По умолчанию политика DROP.
При последнем выяснении чегож все плохо работает, оказалось, что если добавить правило
iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT

работать начинает.
как мне обьяснили, DNS запросы прохадящие по маршруту intet<==>srv<==>lan проходя цепочку FORWARD режутся. При этом раньше все работало, (грешу на последний апдейт: небыло печали, апдейтов накачали).
Но главный вопрос WTF? правила то форварда разрешающие DNS запросы есть.
Кто может мне обьяснить почему не прокатывает четкое разрешение и надо разрешать все?
Может порты поменялись у DNS? или что?
_________________
spice must flow
הבה נגילה ונשמחה
Посмотреть профиль Отправить личное сообщение
silitra
Админ


Пол: Пол:Муж.
Зарегистрирован: 24.11.2004
Сообщения: 2168
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2011.11.24 10:25.37
Ответить с цитатой
iptables -nvL покажи
Посмотреть профиль Отправить личное сообщение ICQ Number
Rre
Заслуженный писатель



Зарегистрирован: 04.08.2008
Сообщения: 4461


Статус: Offline
СообщениеДобавлено: 2011.11.24 11:18.35
Ответить с цитатой
 iptables -nvL
Chain INPUT (policy DROP 11553 packets, 1329K bytes)
 pkts bytes target     prot opt in     out     source               destination
62849   12M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  239 74020 ACCEPT     icmp --  eth1   *       10.0.0.0/24          0.0.0.0/0
    4   240 ACCEPT     icmp --  eth1   *       10.0.10.0/24         0.0.0.0/0
  228 35058 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:53
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:53
    0     0 ACCEPT     tcp  --  eth1   *       10.0.0.0/24          0.0.0.0/0           multiport dports 20,21
    7   336 ACCEPT     tcp  --  eth1   *       10.0.0.0/24          0.0.0.0/0           multiport dports 139,445
    9   432 ACCEPT     tcp  --  eth1   *       10.0.10.0/24         0.0.0.0/0           multiport dports 139,445
   13   624 ACCEPT     tcp  --  *      *       10.0.0.0/24          10.0.0.1            tcp dpt:5555
    0     0 ACCEPT     tcp  --  *      *       10.0.10.161          10.0.10.1           tcp dpt:5555
 2203  203K ACCEPT     udp  --  *      *       10.0.0.0/24          10.0.0.1            udp spt:5555
    1    48 ACCEPT     tcp  --  *      *       10.0.0.250           10.0.0.1            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       10.0.0.5             10.0.0.1            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       192.168.88.136       192.168.85.41       tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       10.0.0.90            10.0.0.1            tcp dpt:22

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 455K  191M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
 6080 1693K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:53
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:53
 1175 70312 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
 2807  160K ACCEPT     all  --  eth1   eth0    10.0.0.0/24          0.0.0.0/0
    0     0 ACCEPT     all  --  eth1   eth0    10.0.10.0/24         0.0.0.0/0

Chain OUTPUT (policy DROP 378 packets, 25874 bytes)
 pkts bytes target     prot opt in     out     source               destination
65746   25M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
  203 18676 ACCEPT     icmp --  *      eth1    10.0.0.0/24          0.0.0.0/0
  332 30544 ACCEPT     icmp --  *      eth1    10.0.10.0/24         0.0.0.0/0
    0     0 ACCEPT     icmp --  *      eth0    0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
  259 17132 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
    0     0 ACCEPT     tcp  --  *      *       10.0.0.1             10.0.0.0/24         tcp spt:5555
    0     0 ACCEPT     tcp  --  *      *       10.0.10.1            10.0.10.161         tcp spt:5555
 1939  721K ACCEPT     udp  --  *      *       10.0.0.1             10.0.0.0/24         udp dpt:5555
    0     0 ACCEPT     tcp  --  *      *       10.0.0.1             10.0.0.250          tcp spt:22
    0     0 ACCEPT     tcp  --  *      *       10.0.0.1             10.0.0.5            tcp spt:22
    0     0 ACCEPT     tcp  --  *      *       192.168.88.136       192.168.85.41       tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       10.0.0.1             10.0.0.90           tcp spt:22

_________________
spice must flow
הבה נגילה ונשמחה
Посмотреть профиль Отправить личное сообщение
Rre
Заслуженный писатель



Зарегистрирован: 04.08.2008
Сообщения: 4461


Статус: Offline
СообщениеДобавлено: 2011.11.25 08:55.19
Ответить с цитатой
ситуация: инет переодически виснет (http, остальные протоколы робят нормально) все идет по nat запросы к dns идут без проблем. при этом если нацепить прокси типо опера турбо все работает норм- второй день голову ломаю, в какую сторону копать? косяк возможно появился после обновления
вот сейчас проверил: например открываем сайт qiq.ws-не грузится, делаю с виндовой машины nslookup qiq.ws
Non-authoritative answer:
Name: qiq.ws
Address: 85.17.31.183
а через прокси работает все хорошо
где косяк может быть?
_________________
spice must flow
הבה נגילה ונשמחה
Посмотреть профиль Отправить личное сообщение
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> iptables

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