Опять iptables

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Опять iptables

Сообщение amorphius »

Есть 2 интерфейса: eth0 направлен в сетку ip: 10.3.8.4, маска: 255.0.0.0 и ppp0, направленный в инет. Надо раздавать инет на сеть 10.3.8.0/24. Прописываю:
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o ppp0 -s 10.3.8.0/24 -j MASQUERADE
На других компах устанавливаю шлюз 10.3.8.4, но инета нет....
Объясните пожалуйста, что я не так делаю.
Спасибо сказали:
tramX
Сообщения: 200

Re: Опять iptables

Сообщение tramX »

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.2 -j ACCEPT
iptables -A FORWARD -s 192.168.2.3 -j ACCEPT
iptables -A FORWARD -s 192.168.2.0/24 -j DROP

Работает
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

я вот не пойму только где это прописывать. Просто в консоли или в какой нить загрузочный скрипт. rc.local подойдет?
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

прописал в rc.local:
iptables -t nat -F
iptables -t nat POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
iptables -A FORWARD -s 10.3.8.1 -j ACCEPT
iptables -A FORWARD -s 10.3.8.2 -j ACCEPT
iptables -A FORWARD -s 10.3.8.3 -j ACCEPT

net.ipv4.ip_forward уже давно установлен в 1, а инета все нету :(
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Опять iptables

Сообщение KiWi »

Думается мне, любой нормальный дистриб умеет сохранять правила ещё в init-скриптах...
Ну ладно, сейчас не об этом -- а ручками-ручками? Какие ошибки?
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Опять iptables

Сообщение Mage-Warrior »

Внимательнее - смотрите на приведённое Вами:
прописал в rc.local:
iptables -t nat -F
iptables -t nat POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
iptables -A FORWARD -s 10.3.8.1 -j ACCEPT
iptables -A FORWARD -s 10.3.8.2 -j ACCEPT
iptables -A FORWARD -s 10.3.8.3 -j ACCEPT
Верный вариант выше! -
iptables -t nat -A POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

в смысле надо прописать
- iptables -t nat -A POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
и больше ничего не надо?
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Опять iptables

Сообщение Mage-Warrior »

amorphius писал(а):
07.10.2008 17:29
в смысле надо прописать
- iptables -t nat -A POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
и больше ничего не надо?

Пропишите точно так:

Код: Выделить всё

iptables -P FORWARD DROP
 iptables -t nat -F
 iptables -t nat -A POSTROUTING -s 10.3.8.0/24 -j MASQUERADE
 iptables -A FORWARD -s 10.3.8.0/24 -j ACCEPT
 iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Первая строка устанавливает политику отброса пакетов для цепочки FORWARD, чтобы проходили только те, которые разешены.
Вторая строка очищает таблицу nat от правил, которые там могли оказаться.
Третья строка включает маскарадинг для пакетов из подсети 10.3.8.0/255.255.255.0 (если хотите узнать про маскарадинг - обратитесь к мануалам).
Четвёртая строка включает разрешение на продвижение пакетов из нужной подсети в другие сети.
Пятая строка пропускает пакеты установленных и связанных соединений.
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

извините за тупой вопрос.... А где все это прописывать? Просто в консоли прописать и перегрузить комп? Я как то замечал, что настройки не сохраняются при ребуте, поэтому прописываю все в rc.local. И еще вопросик для общего развития: как перегрузить сеть? Надоело уже весь комп перегружать, должен быть другой же, более быстрый метод.
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Опять iptables

Сообщение Mage-Warrior »

Лучше сделать в отдельный самолепный скрипт такого типа:

Код: Выделить всё

#!/bin/bash
 # Cleaning rules and chains
 iptables -F INPUT
 iptables -F FORWARD
 iptables -F OUTPUT
 iptabels -t nat -X
 iptabels -t filter -X
 iptabels -t mangle -X

 # И далее Ваши правила iptables
 .......

Не забудьте сделать его исполняемым.
Есть интересные команды - iptables-save и iptables-restore, которые можно использовать так:

Код: Выделить всё

iptables-save>/etc/iptables_saved
 cat /etc/iptables_saved>iptables-restore

Первая строка сохраняет правила в /etc/iptabels_saved, а вторая - читает оттуда те же правила.
Для применения каких-либо изменений не нужно перезагружать всю сеть, достаточно будет просто запустить созданный скрипт с правилами. Так как дистрибутив не указали, то куда прописать строки - не подскажу, хотя, rc.local может подойти для прописывания туда строки "cat /etc/iptables_saved>iptables-restore".
То есть последовательность такая:
1) Создали скрипт.
2) Опробовали и отладили за несколько запусков до нужного состояния
3) iptables-save>/etc/iptables_saved
4) Прописали в rc.local (или rc.inet, если есть) строку cat /etc/iptables_saved>iptables-restore.
P.S. Работа с интерфейсами: man ifconfig,man ip.
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
2Casp
Сообщения: 33
ОС: GNU\Linux

Re: Опять iptables

Сообщение 2Casp »

Хмм...а что за ОС?
Попробуй создать sh скрипт, кинуть его в /etc/init.d/допустим_будет_имя_iptables, далее ввести команду:
#update-rc.d iptables defaults
в скрипте я думаю можно добавить:

Код: Выделить всё

#!/bin/bash
fw="/sbin/iptables"

/sbin/depmod -a

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

echo "1" > /proc/sys/net/ipv4/ip_forward

$fw -P INPUT ACCEPT
$fw -P FORWARD ACCEPT
$fw -P OUTPUT ACCEPT
$fw -t nat -P PREROUTING ACCEPT
$fw -t nat -P POSTROUTING ACCEPT
$fw -t nat -P OUTPUT ACCEPT
$fw -t mangle -P PREROUTING ACCEPT
$fw -t mangle -P OUTPUT ACCEPT
$fw -F
$fw -t nat -F
$fw -t mangle -F
$fw -t nat -X
$fw -t mangle -X

$fw -t filter -A FORWARD -p tcp -s 192.168.0.0/24 -j ACCEPT
$fw -t filter -A FORWARD -p tcp -d 192.168.0.0/24 -j ACCEPT

$fw -t nat -A POSTROUTING -j MASQUERADE

После выполнения данного скрипта проверь:
#iptables -t filter -nvL
#iptables -t nat -nvL
В теории все должно заработать, только на клиенте если прописываешь все руками, кроме маршрута по умолчанию добавь DNS провайдера или свой.
Цена тебе - твое слово!
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

спс большое, заработало. Но еще одна проблемка появилась: не удается записать файл /etc/iptables_saved, выскакивает setroubleshoot с предупреждением о попытки записи в файл /etc/iptables_saved. Как записать все таки?
P.S. Стоит у меня Fedora 9 (Sulphur)
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Опять iptables

Сообщение Mage-Warrior »

amorphius писал(а):
08.10.2008 10:16
спс большое, заработало. Но еще одна проблемка появилась: не удается записать файл /etc/iptables_saved, выскакивает setroubleshoot с предупреждением о попытки записи в файл /etc/iptables_saved. Как записать все таки?
P.S. Стоит у меня Fedora 9 (Sulphur)

Это selinux - всё, что могу сказать, с ним дела не имел :wacko: .
P.S. Внимание! Для новых вопросов создавайте новые темы! Иначе, можете просто не получить ответов.
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

и еще попутный вопрос: чем можно ограничить скорость инета для компов, на которые я его раздаю? Желательно какие нить системные средства типа того же iptables, чтоб не устанавливать море софта левого.
Спасибо сказали:
Аватара пользователя
2Casp
Сообщения: 33
ОС: GNU\Linux

Re: Опять iptables

Сообщение 2Casp »

amorphius писал(а):
08.10.2008 10:16
спс большое, заработало. Но еще одна проблемка появилась: не удается записать файл /etc/iptables_saved, выскакивает setroubleshoot с предупреждением о попытки записи в файл /etc/iptables_saved. Как записать все таки?
P.S. Стоит у меня Fedora 9 (Sulphur)

а смысл тебе в iptables_saved? сделай shell скрипт....
Цена тебе - твое слово!
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: Опять iptables

Сообщение alternativshik »

amorphius писал(а):
08.10.2008 10:25
и еще попутный вопрос: чем можно ограничить скорость инета для компов, на которые я его раздаю? Желательно какие нить системные средства типа того же iptables, чтоб не устанавливать море софта левого.

смотрите в сторону htb.init
Спасибо сказали:
Аватара пользователя
amorphius
Сообщения: 353
ОС: Ubuntu

Re: Опять iptables

Сообщение amorphius »

сделал поиск по всей системе, не нашел ниче подобного с htb.init
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: Опять iptables

Сообщение alternativshik »

amorphius писал(а):
08.10.2008 10:52
сделал поиск по всей системе, не нашел ниче подобного с htb.init

Поиск по Гуглу поможет - он использует tc из iproute2.
Спасибо сказали:
relax
Сообщения: 7

Re: Опять iptables

Сообщение relax »

amorphius по поводу сохранение правил фаервола в Fedora вообще не заморачивайся.
просто скажи
# service iptables save
все твои правила сохранятся корректно в /etc/sysconfig/iptables
чтоб они загружались при загрузке
# chkсonfig --level 35 iptables on

Когда поправил правила говоришь (# service iptables save)
а если ошибся и хочешь вернуть к состоянию в котором сохранил то # service iptables restart

По поводу ограничения тебе сюда

http://lartc.org/howto/
http://lartc.org/howto/lartc.qdisc.html
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Опять iptables

Сообщение Ztux »

а что, если cbq.init?
http://linuxportal.ru/entry.php/87_0_3_0/
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали: