portos, весь скрипт целиком сюда выкладывай, так гадать долго будем.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Debian GNU/Linux → Помогите раздать инет в сети
portos, весь скрипт целиком сюда выкладывай, так гадать долго будем.
Chain FORWARD (policy ACCEPT 25969 packets, 15M bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 14088 packets, 1951K bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 1 packets, 238 bytes)
pkts bytes target prot opt in out source destination
3041 227K MASQUERADE all -- any eth0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 16 packets, 1130 bytes)
pkts bytes target prot opt in out source destination
iptables -t nat -A PREROUTING -i eth0 -p tcp --source 192.168.0.0/24 -m multiport --dport 80,8080,8000 -j DNAT --to-destination 192.168.1.21:3128
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
Вывод
# cat /proc/sys/net/ipv4/ip_forwardпокажи
ы. Скриптом все оформить не пробовал?
Или принципиально iptables-save\restore?
Консоль:echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangleiptables -t nat -A PREROUTING -i eth0 -p tcp --source 192.168.0.0/24 -m multiport --dport 80,8080,8000 -j DNAT --to-destination 192.168.1.21:3128
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROPiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
Спасибо, пробую.
Вывод
# cat /proc/sys/net/ipv4/ip_forwardпокажи
ы. Скриптом все оформить не пробовал?
Или принципиально iptables-save\restore?
Вообще для этого есть tcpdump
На сервере
Вообще для этого есть tcpdump
На сервереКонсоль:tcpdump -i eth0 -nn -ttt host 192.168.1.100 and port 3128
192.168.1.100 - слушаешь комп с которого пробуешь зайти в инет через сквид.
И да. newzenon прав. Если принципиално без скрипта, то проверить флаг ip_forward сто пудово надо smile
Все сделал как ты написал. Снова ничего.
Chain FORWARD (policy ACCEPT)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere 192.168.0.0/24
ACCEPT all -- 192.168.0.0/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Это после того как все команды выполнил. Может в самом сквиде проблема? Скайп и аська работала, сайты не открываются.
Спасибо, пробую.
Вообще все уже расписал, либо читай тему сначала, http://linuxforum.ru/viewtopic.php?pid=176106#p176106
Я не пойму принципиального назначения
iptables -t nat -A PREROUTING -i eth0 -p tcp --source 192.168.0.0/24 -m multiport --dport 80,8080,8000 -j DNAT --to-destination 192.168.1.21:3128И почему PREROUTING?
portos пишет:Спасибо, пробую.
Вообще все уже расписал, либо читай тему сначала, http://linuxforum.ru/viewtopic.php?pid=176106#p176106
Я не пойму принципиального назначенияiptables -t nat -A PREROUTING -i eth0 -p tcp --source 192.168.0.0/24 -m multiport --dport 80,8080,8000 -j DNAT --to-destination 192.168.1.21:3128И почему PREROUTING?
Буду пробовать.
а так http://blog.sozinov.eu/2007/04/debian-proxy.html
portos, да е! ответ дать можешь на вопрос? Я ж не о сверхъестественном спрашиваю, разговор в одни ворота какой-то.
Открывал вот таким способом порты
# Разрешаем пини
$IPT -A INPUT -i $WAN -p icmp -j ACCEPT
$IPT -A OUTPUT -o $WAN -p icmp -j ACCEPT
# Разрешаем http
$IPT -A INPUT -i $WAN -p tcp --sport 80 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --dport 80 -j ACCEPT
# Разрешаем https
$IPT -A INPUT -i $LAN -p tcp --dport 443 -j ACCEPT
$IPT -A OUTPUT -o $LAN -p tcp --sport 443 -j ACCEPT
# Разрешаем ftp
$IPT -A INPUT -i $WAN -p tcp --sport 21 --dport 21 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --sport 21 --dport 21 -j ACCEPTчто то интернет не хочет работать.(
может я как то н так открыл? или каких то не хватает? и сайты не пингуются.
wild_osp, весь скрипт показывай. И да http (80) открываешь для интерфейса WAN, а https (443) для LAN - определись уже какой интерфейс и куда смотрит.
Вообще стандартно для интерфейса ppp0 смотрящего в интернет примерно так:
# Разрешаем dns серверу
iptables -A INPUT -i ppp0 -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp --dport 53 -j ACCEPT
# Разрешаем пинг
iptables -A INPUT -i ppp0 -p ICMP -j ACCEPT
iptables -A OUTPUT -o ppp0 -p ICMP -j ACCEPT
# Разрешаем ssh серверу
iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 22 -j ACCEPT
# Разрешаем http серверу
iptables -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 80 -j ACCEPT
# Разрешаем https серверу
iptables -A INPUT -i ppp0 -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 443 -j ACCEPT
# Разрешаем ssmtp серверу
iptables -A INPUT -i ppp0 -p tcp --dport 465 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 465 -j ACCEPT
iptables -A INPUT -i ppp0 -p tcp --sport 465 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 465 -j ACCEPTПроблема решилась! Решение тут: http://wiki.squid-cache.org/ConfigExamp … /LinuxDnat
Вот только осталось решить еще две задачки smile
1. Сохранение правил, а то после перезагрузки правила слетают. Хотя сделал так:
2. Каким образом из сквида вылавливать инфу сколько/куда/кто и т.д. или через команду grep все делать?
portos, ну я ж писал примеры:
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
up iptables-restore < /etc/iptables.up.rules
down iptables-save > /etc/iptables.up.rules
# Также можно:
pre-up <command>
post-up <command>Либо скрипт в каталог if-up
portos, ну я ж писал примеры:
auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 up iptables-restore < /etc/iptables.up.rules down iptables-save > /etc/iptables.up.rules # Также можно: pre-up <command> post-up <command>Либо скрипт в каталог if-up
Еще раз спасибо тебе за помощь!
Всетаки выражение "читай маны" работает
По первому вопросу также решение нашел: http://wiki.debian.org/iptables
Думаю и с вторым разберусь, а нет буду спрашивать у уважаемого сообщества!
Проблема с торрентом по прежнему у меня вот мой скрипт целиком
#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
# Объявление переменных
export IPT="iptables"
# Интерфейс который смотрит в интернет
export WAN=eth0
# Локальная сеть
export LAN=eth1
export LAN_IP_RANGE=192.168.1.80
# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP
# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
# Приводит к связыванию системных ресурсов, так что реальный обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT
# Маскарадинг
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE
#**************************ОТКРЫВАЮ ПОРТЫ********************************
# Разрешаем dns серверу
$IPT -A INPUT -i $WAN -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p udp --dport 53 -j ACCEPT
# Разрешаем пинг
$IPT -A INPUT -i $WAN -p ICMP -j ACCEPT
$IPT -A OUTPUT -o $WAN -p ICMP -j ACCEPT
# Разрешаем ssh серверу
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --sport 22 -j ACCEPT
# Разрешаем http серверу
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --sport 80 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --sport 80 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --dport 80 -j ACCEPT
# Разрешаем https серверу
$IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --sport 443 -j ACCEPT
# Разрешаем ssmtp серверу
$IPT -A INPUT -i $WAN -p tcp --dport 465 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --sport 465 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --sport 465 -j ACCEPT
$IPT -A OUTPUT -o $WAN -p tcp --dport 465 -j ACCEPT
#************************************************************************
# Вывод информации о состоянии
$IPT -Lвот скрин что торрент качает без проблем ((![]()
вот настройка сетевых интерфейсов:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
pre-up echo "1" > /proc/sys/net/ipv4/ip_forward # Включаем форвардинг пакетов
pre-up iptables-restore < /etc/ip_rulles.lst # Загружаем правила
post-down iptables-save > /etc/ip_rulles.lst # Сохраняем правила
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.55.22
netmask 255.255.255.0
network 192.168.55.0
broadcast 192.168.55.255
gateway 192.168.55.11
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 194.158.206.206 193.232.248.2
dns-search by
auto eth1
iface eth1 inet static
address 192.168.1.99
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255wild_osp, ну у пользователей качать будет, потому что FORWARD для них сквозняком открыт, так ты только для шлюза всё обломал.
Итого убираешь строчку
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPTБлагодаря ей пользователи могут качать и тп.
Далее
# DNS forward
$IPT -A FORWARD -i $LAN -p udp --sport 53 -j ACCEPT
# HTTP forward
$IPT -A FORWARD -i $LAN -p tcp --dport 80 -j ACCEPT
$IPT -A FORWARD -i $LAN -p tcp --sport 80 -j ACCEPTСобственно только что проверил, все Ок.
Сначала порты в форвард не открывай, попробуй, если после того как убрал первую строчку ни у кого доступа нет в сеть, начинай порты открывать.
Ну я думаю смысл уловил?
Спасибо с портами разобрался!!!!
А можно ли сделать так что бы был отдельный файл со списком IP адресов которые нужно пускать в интернет?
export LAN_IP_RANGE=192.168.1.80то есть за место 192.168.1.80 указать пусть к файлу?
wild_osp, те маскарадинг нужен только определенным IP адресам?
$IPT -t nat -A POSTROUTING -o $EXT -s 192.168.0.5 -j MASQUERADEНу и в цикле можно из файла допустим построчно брать и подставлять IP адреса.
Да мне нужно примерно 20 айпишников пустить в нет
было бы удобнее через файл со списком
С тебя и так пиво, теперь наверное ящик....
Делаешь файл допустим такой:
/usr/local/sbin/iplist
192.168.0.5
192.168.0.22
192.168.0.56Вообще пользовательские скрипты хороший тон хранить в /usr/local/sbin
Дальше в скрипт добавляешь следующее:
IPLIST=/usr/local/sbin/iplist
cat $IPLIST | while read line
do
$IPT -v -t nat -A POSTROUTING -o $EXT -s ${line} -j MASQUERADE
doneРезультатом будет:
192.168.0.5MASQUERADE all opt -- in * out ppp0 192.168.0.5 -> 0.0.0.0/0
192.168.0.22MASQUERADE all opt -- in * out ppp0 192.168.0.22 -> 0.0.0.0/0
192.168.0.56MASQUERADE all opt -- in * out ppp0 192.168.0.56 -> 0.0.0.0/0 -v после $IPT означает verbose - убери чтобы молча выполнялось, без отображения.
Всё отлично получилось! Огромнейшее спасибо! Буду должен ) wink

Пользовался 2 месяца интернетом и после этого что то начало ложить весь канал помогает только перезагрузка! расскажите пожалуйста чем можно вычислить кто ложит весь канал?! Уже не знаю что сделать! помогите пожалуйста! Конфиг у меня такой же как тут мы раньше обсуждали....

Пользовался 2 месяца интернетом и после этого что то начало ложить весь канал помогает только перезагрузка! расскажите пожалуйста чем можно вычислить кто ложит весь канал?!
lsof -i
iptraff
скажите пожалуйста а как можно мне ограничить скорость или количество пакетов в минуту!??
Используй iptables tc shaper.
скажите пожалуйста а как можно мне ограничить скорость или количество пакетов в минуту!??
Для начала чтоб попробще HTB
http://sudouser.com/nastrojka-ograniche … haper.html
wild_osp пишет:скажите пожалуйста а как можно мне ограничить скорость или количество пакетов в минуту!??
Для начала чтоб попробще HTB
http://sudouser.com/nastrojka-ograniche … haper.html
Сделал всё как тут написано поставил ограничение скорости в 2Mbit при скачивание у пользователей показывает только 30-40 Кб/с
В чём может быть проблема? ((
Linux Forum → Debian GNU/Linux → Помогите раздать инет в сети
Форум работает на PunBB, при поддержке Informer Technologies, Inc