Опять iptables
Модераторы: SLEDopit, Модераторы разделов
-
amorphius
- Сообщения: 353
- ОС: Ubuntu
Опять iptables
Есть 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, но инета нет....
Объясните пожалуйста, что я не так делаю.
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
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
Работает
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
я вот не пойму только где это прописывать. Просто в консоли или в какой нить загрузочный скрипт. rc.local подойдет?
-
amorphius
- Сообщения: 353
- ОС: Ubuntu
Re: Опять iptables
прописал в 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, а инета все нету
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
Думается мне, любой нормальный дистриб умеет сохранять правила ещё в init-скриптах...
Ну ладно, сейчас не об этом -- а ручками-ручками? Какие ошибки?
Ну ладно, сейчас не об этом -- а ручками-ручками? Какие ошибки?
-
Mage-Warrior
- Сообщения: 869
- Статус: Семь раз понюхай, один раз откуси!
- ОС: SlackWare 12.1
Re: Опять iptables
Внимательнее - смотрите на приведённое Вами:
прописал в 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
прописал в 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
в смысле надо прописать
- iptables -t nat -A POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
и больше ничего не надо?
- iptables -t nat -A POSTROUTING -s 10.3.8.0/255.255.255.0 -j MASQUERADE
и больше ничего не надо?
-
Mage-Warrior
- Сообщения: 869
- Статус: Семь раз понюхай, один раз откуси!
- ОС: SlackWare 12.1
Re: Опять iptables
Пропишите точно так:
Код: Выделить всё
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
извините за тупой вопрос.... А где все это прописывать? Просто в консоли прописать и перегрузить комп? Я как то замечал, что настройки не сохраняются при ребуте, поэтому прописываю все в rc.local. И еще вопросик для общего развития: как перегрузить сеть? Надоело уже весь комп перегружать, должен быть другой же, более быстрый метод.
-
Mage-Warrior
- Сообщения: 869
- Статус: Семь раз понюхай, один раз откуси!
- ОС: SlackWare 12.1
Re: Опять iptables
Лучше сделать в отдельный самолепный скрипт такого типа:
Не забудьте сделать его исполняемым.
Есть интересные команды - iptables-save и 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.
Код: Выделить всё
#!/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
Хмм...а что за ОС?
Попробуй создать sh скрипт, кинуть его в /etc/init.d/допустим_будет_имя_iptables, далее ввести команду:
#update-rc.d iptables defaults
в скрипте я думаю можно добавить:
После выполнения данного скрипта проверь:
#iptables -t filter -nvL
#iptables -t nat -nvL
В теории все должно заработать, только на клиенте если прописываешь все руками, кроме маршрута по умолчанию добавь DNS провайдера или свой.
Попробуй создать 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
спс большое, заработало. Но еще одна проблемка появилась: не удается записать файл /etc/iptables_saved, выскакивает setroubleshoot с предупреждением о попытки записи в файл /etc/iptables_saved. Как записать все таки?
P.S. Стоит у меня Fedora 9 (Sulphur)
P.S. Стоит у меня Fedora 9 (Sulphur)
-
Mage-Warrior
- Сообщения: 869
- Статус: Семь раз понюхай, один раз откуси!
- ОС: SlackWare 12.1
Re: Опять iptables
Это selinux - всё, что могу сказать, с ним дела не имел
P.S. Внимание! Для новых вопросов создавайте новые темы! Иначе, можете просто не получить ответов.
*- Большинство проблем, дружок, завсегда покажет лог! -*
-
amorphius
- Сообщения: 353
- ОС: Ubuntu
Re: Опять iptables
и еще попутный вопрос: чем можно ограничить скорость инета для компов, на которые я его раздаю? Желательно какие нить системные средства типа того же iptables, чтоб не устанавливать море софта левого.
-
2Casp
- Сообщения: 33
- ОС: GNU\Linux
-
alternativshik
- Сообщения: 154
- ОС: Debian Lenny/Sid
-
amorphius
- Сообщения: 353
- ОС: Ubuntu
Re: Опять iptables
сделал поиск по всей системе, не нашел ниче подобного с htb.init
-
alternativshik
- Сообщения: 154
- ОС: Debian Lenny/Sid
-
relax
- Сообщения: 7
Re: Опять iptables
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
просто скажи
# 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
а что, если cbq.init?
http://linuxportal.ru/entry.php/87_0_3_0/
http://linuxportal.ru/entry.php/87_0_3_0/
Твоюж мать.. (с)Эрик Картмен