Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 464741 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlexeyK

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #225 : 14 Января 2009, 10:11:16 »
В догонку к предыдущему вопросу.
Нужно за Nat скрыть локальную сеть, но чтобы определенному адресу из локальной сети присваивался определенный адрес из внешней сети.

локальная                       внешняя
192.168.0.50              10.60.1.5
192.168.0.60              10.60.1.6
192.168.0.70              10.60.1.7

Сколько необходимо в сервер поставить сетевых карт (достаточно ли двух (одна - локальная сеть, другая - внешняя) ?

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #226 : 14 Января 2009, 12:12:06 »
Двух достаточно. Например так:

На внешней сетевухе создать несколько алиасов (виртуальных сетевух) с разными IP-адресами из 10.60.1.*. Ну и NATить на них обычным способом, например:
iptables -t nat -A POSTROUTING -s 192.168.0.50 -j SNAT --tosource 10.60.1.5
iptables -t nat -A POSTROUTING -s 192.168.0.60 -j SNAT --tosource 10.60.1.6
...
Собственно, при таком раскладе никто из вне не будет видеть локальных клиентов даже по их внешним адресам. Я думаю это и есть "скрыть за Nat локальную сеть".
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн AlexeyK

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #227 : 14 Января 2009, 20:26:31 »
Двух достаточно. Например так:

На внешней сетевухе создать несколько алиасов (виртуальных сетевух) с разными IP-адресами из 10.60.1.*. Ну и NATить на них обычным способом, например:
iptables -t nat -A POSTROUTING -s 192.168.0.50 -j SNAT --tosource 10.60.1.5
iptables -t nat -A POSTROUTING -s 192.168.0.60 -j SNAT --tosource 10.60.1.6
...
Собственно, при таком раскладе никто из вне не будет видеть локальных клиентов даже по их внешним адресам. Я думаю это и есть "скрыть за Nat локальную сеть".

Спасибо большое. Все заработало.

Оффлайн bujhm666

  • Участник
  • *
  • Сообщений: 185
  • Arch Linux
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #228 : 19 Января 2009, 23:00:19 »
Нужно создать для rtorrent что то подобное ipfilter.dat  чтобы отсечь внешний трафик на определенном порту.
Прикинул для этого набор правил. Посмотрите пожалуйста все ли нормально, или можно оптимизировать.

#Dropping all packets
iptables -A OUTPUT -p tcp --destination-port 48334 -j DROP
iptables -A INPUT -p tcp --destination-port 48334 -j DROP

iptables -A OUTPUT -p udp --destination-port 48334 -j DROP
iptables -A INPUT -p udp --destination-port 48334 -j DROP

#Accepting packets for networks
iptables -A OUTPUT -p tcp --destination-port 48334 -m iprange --dst-range 94.28.128.0-94.28.255.255 -j ACCEPT
iptables -A OUTPUT -p tcp --destination-port 48334 -m iprange --dst-range 212.12.0.0-212.12.31.255 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 48334 -m iprange --dst-range 94.28.128.0-94.28.255.255 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 48334 -m iprange --dst-range 212.12.0.0-212.12.31.255 -j ACCEPT

iptables -A OUTPUT -p udp --destination-port 48334 -m iprange --dst-range 94.28.128.0-94.28.255.255 -j ACCEPT
iptables -A OUTPUT -p udp --destination-port 48334 -m iprange --dst-range 212.12.0.0-212.12.31.255 -j ACCEPT
iptables -A INPUT -p udp --destination-port 48334 -m iprange --dst-range 94.28.128.0-94.28.255.255 -j ACCEPT
iptables -A INPUT -p udp --destination-port 48334 -m iprange --dst-range 212.12.0.0-212.12.31.255 -j ACCEPT

Оффлайн HNKNTA

  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #229 : 19 Января 2009, 23:05:15 »
у меня во внешку идет определенная сетевуха, я делал так:
iptables -A INPUT -i eth0  -p tcp --dport 6882 -j DROP
iptables -A OUTPUT -o eth0 -p tcp --sport 6882 -j DROP

Оффлайн bujhm666

  • Участник
  • *
  • Сообщений: 185
  • Arch Linux
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #230 : 20 Января 2009, 08:23:50 »
У нашего провайдера определенные диапазоны ip считаются внутренними и трафик по ним не учитывается.
Мне нужно заставить rtorrent работать только в этих диапазонах ip.

Оффлайн InkVisitor

  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #231 : 20 Января 2009, 17:14:47 »
А что, в вашей сети все торрент-клиенты на одном порту висят?

Оффлайн bujhm666

  • Участник
  • *
  • Сообщений: 185
  • Arch Linux
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #232 : 21 Января 2009, 15:20:48 »
Все клиенты меня не интересуют. У меня в модеме проброшен один порт для торрента и именно этот порт мне надо ограничить.

Оффлайн sliva721

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
HOWTO: Iptables для новичков
« Ответ #233 : 21 Января 2009, 15:57:15 »
Всем доброго времени суток! Впервые в жизни установил linux-систему: Mandriva 2008, с одной единственной целью сделать "железный" маршрутизатор-файерволл. Установил IPTABLES. Туториал по ним лежит перед глазами, подчерпнул много нужного и умного в Вашем форуме, посему всё получилось с первого раза, но пока интересуют 2 вопроса (возможно сильно ламерские):

1. При загрузке машины начинают бежать по экрану логи всех соединений... Т.е. я начинаю вводить login или пароль, но вдруг по экрану начинают двигаться строки с подробным описанием какая машина с какой коннектится, всякие тех.данные. Точно так же запускаю MC начинаю что-то редактировать и вдруг бац - всё поехало.... :-\
Что нужно сделать, чтоб этого не было?? В чём ошибка????

2. Я создал сценарий правил IPTABLES. Согласно Туториалу все правила для последующей загрузки сохранял по iptables-save > /etc/sysconfig/iptables...
но потом прочитал, что можно просто засунуть этот сценарий (скрипт) в /etc/rc.local , что я собственно и сделал! Правильно ли я понял, что можно ВСЁ пихать в виде скриптов в rc.local и тогда система будет грузиться с теми настройками какие мне нужны, ну, типа могу вставить скрипты, которые при загрузке будут менять адреса сетевых интерфейсов, маршруты и т.д.... Или есть более простые способы или этот способ чем то чревато??????

СПАСИБО!

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #234 : 21 Января 2009, 16:28:26 »
1. При загрузке машины начинают бежать по экрану логи всех соединений...
Что нужно сделать, чтоб этого не было?? В чём ошибка????
Два момента. Первый - посмотреть ваш iptables-скрипт на предмет наличия правил с целью LOG (-j LOG). Именно они отправляют информацию в логи.
Второй - демон (сервис) логов - syslogd - по умолчанию важные с его точки зрения сообщения пишет на активный терминал, дабы пользователь узрел эту важную информацию сразу. Можно перенастроить syslogd.

2. Правильно ли я понял, что можно ВСЁ пихать в виде скриптов в rc.local и тогда система будет грузиться с теми настройками какие мне нужны, ну, типа могу вставить скрипты, которые при загрузке будут менять адреса сетевых интерфейсов, маршруты и т.д.... Или есть более простые способы или этот способ чем то чревато??????
Правильно понял.

Но есть несколько нюансов. Например, что rc.local запускается исключительно при загрузке системы, но не при подключении/отключении сетевых интерфейсов. У меня на серваке, например, маршруты определены в скриптах подключения интерфейсов и соответственно активируются в момент подключения интерфейса, а не при загрузке системы.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн sliva721

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #235 : 21 Января 2009, 17:01:24 »
Первый - посмотреть ваш iptables-скрипт на предмет наличия правил с целью LOG (-j LOG). Именно они отправляют информацию в логи.
Большое спасибо! Абсолютно так... Самое главное, что я видел эти строки, но был уверен, что всё должно писАться в какой-то файл (именно этот кусок скрипта взял с форума...) - закомментировал, всё ОК!
Цитировать
Но есть несколько нюансов. Например, что rc.local запускается исключительно при загрузке системы, но не при подключении/отключении сетевых интерфейсов. У меня на серваке, например, маршруты определены в скриптах подключения интерфейсов и соответственно активируются в момент подключения интерфейса, а не при загрузке системы.
Понял. У меня есть в наличии "тестовый" уже настроенный файер (по его подобию и делал сам), так вот на нём всё происходит именно так как у тебя, но в стартовом скрипте я прописал "погасить" все интерфейсы, очистить адресацию, маршруты и всё вновь поднять как МНЕ НАДО!
Всё получилось. Это тоже правильно? Ничего тут не рушит систему? или может нагрузка какая увеличивается? (вроде всё работало...) :)

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #236 : 21 Января 2009, 17:40:15 »
Всё получилось. Это тоже правильно?
Вполне.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн sliva721

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #237 : 21 Января 2009, 21:44:08 »
Вполне.
БОЛЬШОЕ СПАСИБО! :) :smiley6600:

Оффлайн bujhm666

  • Участник
  • *
  • Сообщений: 185
  • Arch Linux
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #238 : 22 Января 2009, 10:08:04 »
Мой вопрос про ограничения для rtorrent снят. Вместо скриптов для сервера я прописал все правила в ipfilter ADSL модема. Все отлично. Весь внешний трафик режет.
Там в принципе тоже linux но интерфейс намного более дружественный.

Оффлайн akademuk

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #239 : 25 Января 2009, 16:56:17 »
настроил iptables по манам, расшарил инет, все вродебы срост, но мучает один момент, не понял зачем нужно подгружать модкли.....

как бы узнать какие строки из нижеприведенного кода мне нужны, а какие нет.....т.е. какие модули нужно всетаки подгружать а какие нет

###########################################################################
#
# 2. Module loading.
#

#
# Needed to initially load modules
#

#/sbin/depmod -a

#
# 2.1 Required modules
#

#/sbin/modprobe ip_tables
#/sbin/modprobe ip_conntrack
#/sbin/modprobe iptable_filter
#/sbin/modprobe iptable_mangle
#/sbin/modprobe iptable_nat
#/sbin/modprobe ipt_LOG
#/sbin/modprobe ipt_limit
#/sbin/modprobe ipt_state

#
# 2.2 Non-Required modules
#

#/sbin/modprobe ipt_owner
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#/sbin/modprobe ip_nat_ftp
#/sbin/modprobe ip_nat_irc

PS:может кто видел ман по этому поводу?? Пытался поискать в инте но толком даже не понял какую функцию выполняет modprobe......(
« Последнее редактирование: 26 Января 2009, 13:35:21 от akademuk »

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.