LinuxForum.Fans
Тема

iptables проксификация

Автор: Acuk 37 сообщений 10044 просмотров
#166870

Ну я тут смотрю вы играетесь с 80-ым и 443:
Вот так можно попробовать поступить;

text
#!/bin/bash
$ipsquid=10.213.1.1
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 80 --sport 80 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 80 --sport 80 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 80 --sport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp --dport 443 --sport 443 -j ACCEPT iptables -A FORWARD -i eth0 -p tcp --dport 443 --sport 443 -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --dport 443 --sport 443 -j ACCEPT

И уже более точно ясно буде что использовать...

#166876

iptables -A INPUT -i eth0 -p tcp --dport 80 --sport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 80 --sport 80 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 --sport 80 -j ACCEPT

Forward правил явно мало. как минимум 53. Ещё у него на сквид значиться надо указать его порт.
Да и для обычного роутера слишком жесток

#166878

По=ходу мало кто о P DROP задумывается - ну и раздолье имеем для взлома.... smile

#166880

smile да ладно что в роутере ломать

#166883

Kettler, эмм forward же открыт и доступ во внутреннюю сетку тоже никто вроде не закрыл, хотя имхо так и паранойю можно заработать. :lol:

#166885

А тут сам подумай мы прокинули порты во внутрь чтоб их ломать? или как можно?

#166886

Ну если мы порты внутрь прокинули то мы попадем как-раз в пункт назначения.
ы. как-бы из меня взломщик не особо удался... это надо на счет тестирования к этим обращаться ну сам знаешь... smile

#166891

Forward accept не вскрыть а вот INPUT это да) а OUTPUT всё таки советую закрывать)

#167369

спасибо за ответы. Причина была в отсутствии правила output для 80 порта.
443 порт действительно нужен лишь для аутентификации в сервисах - пустил его напрямую.
Теперь возник еще один вопрос:
Из проксирования надо исключить все пакеты, идущие на 93.158.134.3:80, то есть пакеты на этот ip должны идти напрямую, минуя прокси.

#167380

Неуверен что сработает

#!/bin/bash
$ipsquid=10.213.1.1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 ! -d 93.158.134.3 -j DNAT --to-destination $ipsquid:80
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 443 -j DNAT --to-destination $ipsquid:443

#167391

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 ! -d 93.158.134.3 -j DNAT --to-destination $ipsquid:80

увы, не помогло. Восклицательный знак тут явно лишний =)
Это правило надо писать до/после основного? Или непринципиально?

#167392

к тому просто добавить ! -d 93.158.134.3

#167395

к тому просто добавить ! -d 93.158.134.3

не помогает почему-то
Сейчас это выглядит так:
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3 ! -d 93.158.134.4 --dport 80 -j DNAT --to-destination 83.172.2.8:888

Добавлено:
Разобрался. Был назначен неверный ip - поправил и все заработало.
Спасибо еще раз.

#167400

вывод покажи
ifconfig
и
ip route show

щас что нибудь сообразим :(

#167429

А я тут ещё накидал :D

nano /etc/iproute2/rt_tables

10 provider10

ip rule add from 93.158.134.0 table provider10
ip route add default via 172.16.0.254 table provider10

где 172.16.0.254 - шлюз провайдера

#!/bin/bash
$ipsquid=10.213.1.1
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -I PREROUTING 1 -t mangle -s 192.168.1.0/24 -d 93.158.134.0/24 -p tcp --dport 80 -j MARK --set-mark 10
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.0/24 --dport 80 -j DNAT --to-destination $ipsquid:80
ip rule add from all fwmark 10 table provider10

Может кому нибудь пригодиться

#167812

Еще вопрос: А если IP адрес, который нужно исключить из проксирования не один, а несколько(Пусть штук 10) и все из разных диапазонов, как быть?
Добавлено:
Курил FAQ но нашел только как сделать несколько IP из одного диапазона (-m iprange) так что вопрос в силе.

#169174
Acuk написал:
Еще вопрос: А если IP адрес, который нужно исключить из проксирования не один, а несколько(Пусть штук 10) и все из разных диапазонов, как быть?
Добавлено:
Курил FAQ но нашел только как сделать несколько IP из одного диапазона (-m iprange) так что вопрос в силе.

iptables -t nat -I PREROUTING 1 -p tcp -s 192.168.1.3 -d 93.158.134.0/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING 2 -p tcp -s 192.168.1.3 -d 93.158.135.0/24 --dport 80 -j ACCEPT
iptables -t nat -I PREROUTING 3 -p tcp -s 192.168.1.3 --dport 80 -j DNAT --to-destination 192.168.131.111:888

Войдите или зарегистрируйтесь, чтобы ответить.