151

Посади на отдельный порт.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

152

Вот тут не совсем понял. У меня открыт 22 порт:

$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p udp --dport 22 -j ACCEPT

Его закрыть, применить правила:

$IPT -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --name sshattack --set
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: '
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset

А SSH тем временем будет работать на другом порту? Или как? Закрыть 22 порт вообще? Только вот исходя из этой темы http://linuxforum.ru/viewtopic.php?pid=217215#p217215 (конкретно этого поста) - это бесполезно.

И вот еще вопрос появился. fail2ban отказывается работать с iptables.

2011-10-29 14:40:55,038 fail2ban.actions.action: ERROR  iptables -N fail2ban-httpd
iptables -A fail2ban-httpd -j RETURN
iptables -I INPUT -p tcp --dport http -j fail2ban-httpd returned 400
2011-10-29 14:40:55,039 fail2ban.jail   : INFO   Jail 'ssh' started
2011-10-29 14:40:55,042 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh-ddos
iptables -A fail2ban-ssh-ddos -j RETURN
iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh-ddos returned 400
2011-10-29 14:40:55,043 fail2ban.jail   : INFO   Jail 'named-refused-tcp' started
2011-10-29 14:40:55,049 fail2ban.actions.action: ERROR  iptables -N fail2ban-named-refused-tcp
iptables -A fail2ban-named-refused-tcp -j RETURN
iptables -I INPUT -p tcp -m multiport --dports domain,953 -j fail2ban-named-refused-tcp returned 200

Погуглил. Нашел фикс. Добавить в iptables-multiport.conf: actionstart = sleep ${RANDOM:0:1}.${RANDOM: -1:1} и actionstop = sleep ${RANDOM:0:1}.${RANDOM: -1:1}. Но ошибка остается та же.

153

Если слушать всех тогда лучше вообще отказаться от всех открытых портов.
1) повесить на отдельный порт выше 10000.
2) использовать ключи.
3) дать доступ к ssh токо с нужных айпи для меня это предпочтительнее.
4) Можно написать свою цепочку и уже там извращаться.
В вашем примере это работать не будет

$IPT -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --name sshattack --set
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j LOG --log-prefix 'SSH REJECT: '
$IPT -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name sshattack --rcheck --seconds 60 --hitcount 3 -j REJECT --reject-with tcp-reset

Так как вы раньше открыли порты
$IPT -A INPUT -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p udp --dport 22 -j ACCEPT

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

154

А вообщем чтоб не изобретать велосипед.
http://www.google.ru/search?aq=f&gc … %D0%B0+ssh

Самому лень писать вот нашол по ссылкам ваш скрипт в правильном оформлении.

## Создание цепочки правил sshguard
# Максимум 2 новых запроса в минуту для одного ip
/sbin/iptables -N sshguard
# Вкл. лог по желанию
#/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --rcheck --seconds 60 --hitcount 2 -j LOG --log-prefix "SSH-shield: "
/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --update --seconds 60 --hitcount 2 -j DROP
/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --set -j ACCEPT
/sbin/iptables -A sshguard -j ACCEPT
 
## Применение для трафика ssh цепочку sshguard
/sbin/iptables -A INPUT -p tcp --dport 22 -j sshguard
Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.
+ ERT

155

Kettler пишет:

Если слушать всех тогда лучше вообще отказаться от всех открытых портов.
1) повесить на отдельный порт выше 10000.

Я о том, что для тех, кому понадобится, не составит труда проверить на каком порту висит SSH. Или я что-то не так понял?

Kettler пишет:

3) дать доступ к ssh токо с нужных айпи для меня это предпочтительнее.

Согласен, но как быть, если IP динамический?

156

ERT пишет:

Я о том, что для тех, кому понадобится, не составит труда проверить на каком порту висит SSH. Или я что-то не так понял?

Устанут

ERT пишет:

Согласен, но как быть, если IP динамический?

Есть ещё мак адрес.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

157

Логирование, случайно, не переносится в другое место, после этого правила?

#/sbin/iptables -A sshguard -m state --state NEW -m recent --name SSH --rcheck --seconds 60 --hitcount 2 -j LOG --log-prefix "SSH-shield: "

Что-то в логах подозрительно чисто уже пол дня, кроме авторизаций с IP адресов, которые знают пароли.

158 (30.10.2011 04:22:32 отредактировано ERT)

Справился с этими ошибками:

2011-10-29 14:40:55,038 fail2ban.actions.action: ERROR  iptables -N fail2ban-httpd
iptables -A fail2ban-httpd -j RETURN
iptables -I INPUT -p tcp --dport http -j fail2ban-httpd returned 400
2011-10-29 14:40:55,039 fail2ban.jail   : INFO   Jail 'ssh' started
2011-10-29 14:40:55,042 fail2ban.actions.action: ERROR  iptables -N fail2ban-ssh-ddos
iptables -A fail2ban-ssh-ddos -j RETURN
iptables -I INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh-ddos returned 400
2011-10-29 14:40:55,043 fail2ban.jail   : INFO   Jail 'named-refused-tcp' started
2011-10-29 14:40:55,049 fail2ban.actions.action: ERROR  iptables -N fail2ban-named-refused-tcp
iptables -A fail2ban-named-refused-tcp -j RETURN
iptables -I INPUT -p tcp -m multiport --dports domain,953 -j fail2ban-named-refused-tcp returned 200

Открываем /usr/bin/fail2ban-client. Находим:

beautifier.setInputCmd(c)

и выше добавляем строку:

time.sleep(0.1)

Должно выглядеть примерно так:

    def __processCmd(self, cmd, showRet = True):
        beautifier = Beautifier()
        for c in cmd:
            time.sleep(0.1)
            beautifier.setInputCmd(c)

После рестарт fail2ban:

/etc/init.d/fail2ban restart

Смотрим лог:

+ открыть спойлер
2011-10-30 03:08:50,185 fail2ban.jail   : INFO   Jail 'vsftpd' stopped
2011-10-30 03:08:51,091 fail2ban.jail   : INFO   Jail 'apache-noscript' stopped
2011-10-30 03:08:51,293 fail2ban.jail   : INFO   Jail 'ssh-ddos' stopped
2011-10-30 03:08:51,402 fail2ban.jail   : INFO   Jail 'ssh' stopped
2011-10-30 03:08:51,500 fail2ban.jail   : INFO   Jail 'named-refused-tcp' stopped
2011-10-30 03:08:51,501 fail2ban.server : INFO   Exiting Fail2ban
2011-10-30 03:08:52,258 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.4-SVN
2011-10-30 03:08:52,358 fail2ban.jail   : INFO   Creating new jail 'apache-noscript'
2011-10-30 03:08:52,359 fail2ban.jail   : INFO   Jail 'apache-noscript' uses poller
2011-10-30 03:08:52,470 fail2ban.filter : INFO   Added logfile = /var/log/apache2/error.log
2011-10-30 03:08:52,570 fail2ban.filter : INFO   Set maxRetry = 250
2011-10-30 03:08:52,873 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:52,973 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:08:54,184 fail2ban.jail   : INFO   Creating new jail 'vsftpd'
2011-10-30 03:08:54,184 fail2ban.jail   : INFO   Jail 'vsftpd' uses poller
2011-10-30 03:08:54,285 fail2ban.filter : INFO   Added logfile = /var/log/vsftpd.log
2011-10-30 03:08:54,386 fail2ban.filter : INFO   Set maxRetry = 6
2011-10-30 03:08:54,688 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:54,789 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:08:55,999 fail2ban.jail   : INFO   Creating new jail 'ssh-ddos'
2011-10-30 03:08:55,999 fail2ban.jail   : INFO   Jail 'ssh-ddos' uses poller
2011-10-30 03:08:56,101 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2011-10-30 03:08:56,202 fail2ban.filter : INFO   Set maxRetry = 6
2011-10-30 03:08:56,504 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:56,605 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:08:57,713 fail2ban.jail   : INFO   Creating new jail 'ssh'
2011-10-30 03:08:57,713 fail2ban.jail   : INFO   Jail 'ssh' uses poller
2011-10-30 03:08:57,814 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2011-10-30 03:08:57,915 fail2ban.filter : INFO   Set maxRetry = 6
2011-10-30 03:08:58,217 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:58,318 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:09:00,364 fail2ban.jail   : INFO   Creating new jail 'named-refused-tcp'
2011-10-30 03:09:00,364 fail2ban.jail   : INFO   Jail 'named-refused-tcp' uses poller
2011-10-30 03:09:00,465 fail2ban.filter : INFO   Set maxRetry = 10
2011-10-30 03:09:00,767 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:09:00,868 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:09:01,978 fail2ban.jail   : INFO   Jail 'apache-noscript' started
2011-10-30 03:09:02,081 fail2ban.jail   : INFO   Jail 'vsftpd' started
2011-10-30 03:09:02,183 fail2ban.jail   : INFO   Jail 'ssh-ddos' started
2011-10-30 03:09:02,286 fail2ban.jail   : INFO   Jail 'ssh' started
2011-10-30 03:09:02,387 fail2ban.jail   : INFO   Jail 'named-refused-tcp' started

159

Неделю назад начали ddos'ить сайты. Попытался добавить такие вот правила в firewall:

iptables -I INPUT 1 -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 15 --connlimit-mask 32 -j DROP
ipset -N blacklist iphash
iptables -A INPUT -p tcp -m tcp --dport 80 -m set --set blacklist src -j DROP
iptables -A INPUT -s x.x.x.x -j DROP
iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to 1024 -m recent --set --name httpddos --rsource 
iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "GET / HTTP" --algo kmp --to 1024 -m recent --update --seconds 10 --hitcount 2 --name httpddos --rsource -j DROP

Но вот столкнулся с проблемой установки ipset. Не рискнул с пересборкой ядра.
Как можно реализовать эти правила по другому?

160

Здравствуйте! Я уже писал  этой теме по поводу того что я сделал шлюз как тут описано
Ну проблема следующая:
Те компьютеры которые пользуются шлюзом могут качать с торрента и играть  игры хотя по скрипты только открыты порты 22, 443, 80. Немогу понять в чём дело уже  перерыл всё (( помогите пожалуйста.
Вот мой скрипт:

#!/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 NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,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

# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT

# **********************************************************************
# Вывод информации о состоянии
$IPT -L

Делал как мне советовали вот в этом посте http://linuxforum.ru/viewtopic.php?pid=203146#p203146

161

wild_osp, Это

# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

меняй на (убираем NEW)

# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

только учти с открытием нужных портов повозиться придется, то бишь открыть нужные вручную для OUTPUT и FORWARD цепочек

ы. Старые торренты (ESTABLISHED) качаться после этого будут, новые не должны, вообще с торрентами не так все просто.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

162

Убрал NEW но по прежнему торрент работает (

163

newzenon пишет:

ы. Старые торренты (ESTABLISHED) качаться после этого будут, новые не должны, вообще с торрентами не так все просто.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

164

ы. Старые торренты (ESTABLISHED) качаться после этого будут, новые не должны, вообще с торрентами не так все просто.

Специально добавил новый файл торрента и оно начало качать (ну программа Mail Agent перестала работать) ((( Ну по идее же в начале всё закрыто. то есть должны работать только те порты которые в самом низу открыты.

165

wild_osp пишет:

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

Если есть NEW то соединения могут быть открыты самой программой.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

166

Лучше расскажу для чего нужен шлюз:
Есть сеть на 50 машин в интернет нужно пускать примерно 20-25 машин и что бы у них работало всё кроме торрента. Может для этого можно что нибудь другое придумать?

167

Проверил, правда на шлюзе запустил торрент клиент, без NEW и просмотрев чтобы были закрыты порты которыми он может пользоваться - при добавлении нового торрента - нет связи и пиров не видит.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

168

может создать отдельное правило что бы закрыть порты на торрент? потому что при добавлении нового торрента всё равно и пиры и сиды есть и скачка начинается! Ну когда я убираю NEW половину сайтов перестают работать!

169

wild_osp пишет:

Ну когда я убираю NEW половину сайтов перестают работать!

Я же сказал, что если убираешь NEW, то все нужные порты, во всех цепочках (касается INPUT, OUTPUT, FORWARD) необходимо ручками прописывать, плюс не забывать какому порту нужно tcp, какому udp, а каким и то и то, понятно что не просто, но других надежных вариантов нет.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

170

Пример для сервера:

# Разрешаем пини
iptables -A INPUT -i ppp0 -p icmp -j ACCEPT
iptables -A OUTPUT -o ppp0 -p icmp -j ACCEPT
 
# Разрешаем http 
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 eth1 -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 443 -j ACCEPT

 
# Разрешаем ftp
iptables -A INPUT -i ppp0 -p tcp --sport 21 --dport 21 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 21 --dport 21 -j ACCEPT

Соответственно если где-то форвард нужен, хотя вряд ли.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

171

спасибо буду пробовать!

172

Вопрос по той же теме, поэтому не стал создавать новую.
Проблема в том что не получается раздать интернет. Есть сервер: DHCP+SAMBA+SQUID. Два интерфейса: eth0 - 192.168.1.21 интернет и eth1 -192.168.0.21 - локальная сеть.

Пробую заворачивать трафик таким образом:

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.1.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.0.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128

Интернета нет, а в браузере:

   

ERROR
    The requested URL could not be retrieved
     
    The following error was encountered while trying to retrieve the URL: http://www.yandex.ru/?
     
        Access Denied.
     
    Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.
     
    Your cache administrator is webmaster.
     
    Generated Mon, 14 Nov 2011 13:06:32 GMT by server-ae (squid/2.7.STABLE9)

Пока оставил так, что бы интернет был.

 Консоль:
iptables  -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Что делаю не так?

173 (14.11.2011 18:55:58 отредактировано XliN)

 Консоль:
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.1.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.0.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128

Тут явно не верно. Я бы как то так завернул.
 Консоль:
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

Получается весь траф по tcp из сети 192.168.0.0/24 с порта 80,8080,8000 завернуть на 192.168.1.21:3128
И этого будет достаточно, что бы трафик инетовский пустить через сквид. Интерфейс eth1 вообще не трогайте.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

174

portos пишет:

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.1.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.0.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128

...
Что делаю не так?

Не понятна причина данных манипуляций.
Чем не устраивает:
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

175

--=XliN=-- пишет:

 Консоль:
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.1.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -d ! 192.168.0.21 -p tcp -m multiport --dport 80,8080,8000 -j REDIRECT --to-port 3128

Тут явно не верно. Я бы как то так завернул.
 Консоль:
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

Получается весь траф по tcp из сети 192.168.0.0/24 с порта 80,8080,8000 завернуть на 192.168.1.21:3128
И этого будет достаточно, что бы трафик инетовский пустить через сквид. Интерфейс eth1 вообще не трогайте.

Не работает с таким правилом к сожалению.

176

portos пишет:

Не работает с таким правилом к сожалению.

Ну если все цепочки DROP, то нужно еще FORWARD разрешить в сети

 Консоль:
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

Покажите свой iptables

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

177

Так, нужно добавить эти три правила:

 Консоль:
iiptables -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 -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

А то я добавил только первое.

 Консоль:
iptables  -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

178

Ну так что? Работает?

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

179

--=XliN=-- пишет:

Ну так что? Работает?

Нет, не работает.
Прописывал все три правила. Что ж не так то  :o

180

Покажи

 Консоль:
iptables -L -v
iptables -t nat -L -v

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"