URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 7105
[ Назад ]

Исходное сообщение
"Один сайт пустить в обход Squid"

Отправлено shtoff , 07-Май-14 22:42 
Здравствуйте!

Имеется полностью рабочий рутер на Ubuntu 10.04, Squid работает в прозрачном режиме, так же работает Dansguardian для фильтрации по нехорошим словам. При запуске рутера стартует следующий скрипт:
---
#!/bin/sh
echo 1> /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j REJECT
iptables -t nat - A PREROUTING -i eth1 -d ! 192.168.1.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.1.9:8081
---
Все работало как надо до тех пор, пока не вырисовался один сайт на Sharepoint, который отказывается принимать авторизацию пока клиент ходит из-за Squid`a. Требуется запустить все локальные компы на конкретный IP адрес в интете напрямую минуя Squid.
Поначитавшись всякого я добавил пятой строкой iptables -A FORWARD -p tcp -i eth1 -d xxx.xxx.xxx.xxx -j ACCEPT и предпоследней строкой iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx/32 -i eth0 -p tcp -j ACCEPT.

Вывод iptables-save:
---
# Generated by iptables-save v1.4.4 on Tue May  6 21:15:39 2014
*nat
:PREROUTING ACCEPT [26297:1969646]
:POSTROUTING ACCEPT [16773:1020025]
:OUTPUT ACCEPT [16773:1020025]
-A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT
-A PREROUTING ! -d 192.168.1.0/24 -i eth1 -p tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.9:8081
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue May  6 21:15:39 2014
# Generated by iptables-save v1.4.4 on Tue May  6 21:15:39 2014
*filter
:INPUT ACCEPT [1305273:1235840308]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [862306:2176859318]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -d 31.200.206.190/32 -i eth1 -p tcp -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Tue May  6 21:15:39 2014

Это уже с добавленными строчками, IP сайта, на кототрый надо пустить юзеров напрямую, 31.200.206.190
---

И не работает. Пожалуйста, помогите сделать.


Содержание

Сообщения в этом обсуждении
"Один сайт пустить в обход Squid"
Отправлено PavelR , 08-Май-14 07:31 
>и предпоследней строкой iptables -t nat -A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT.

[удалено]


"Один сайт пустить в обход Squid"
Отправлено PavelR , 08-Май-14 07:34 
>>и предпоследней строкой iptables -t nat -A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT.

-i eth1


"Один сайт пустить в обход Squid"
Отправлено shtoff , 08-Май-14 12:33 
>>>и предпоследней строкой iptables -t nat -A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT.
> -i eth1

Большое спасибо! Вроде как конструкция заработала (по крайней мере в access.log я пробрасываемого адреса уже не вижу), но на сайте все равно не авторизуется. Буду трясти провайдера, может какие-то специфические порты закрыты.


"Один сайт пустить в обход Squid"
Отправлено shtoff , 09-Май-14 12:12 
>>>и предпоследней строкой iptables -t nat -A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT.
> -i eth1

Если позволите, еще один вопрос - как мне в данной ситуации пустить определнный IP из локалки напрямую в интернет?


"Один сайт пустить в обход Squid"
Отправлено reader , 09-Май-14 15:41 
>>>>и предпоследней строкой iptables -t nat -A PREROUTING -d 31.200.206.190/32 -i eth0 -p tcp -j ACCEPT.
>> -i eth1
> Если позволите, еще один вопрос - как мне в данной ситуации пустить
> определнный IP из локалки напрямую в интернет?

так же только -s определнный.IP.из.локалки