Консультация № 108560
08.11.2007, 13:58
0.00 руб.
0 2 2
Здравствуйте уважаемые эксперты, укажите на ошибки пожалуйста.

1 Пытаюсь настроить iptables для десктопа,чтобы можно было браузером спокойно сёрфить www,нашёл много описаний настроек для серверов,но для простого десктопа увы нет!Для начала сделал следующее: iptables -P INPUT(OUTPUT,FORWARD) DROP ,далее добавил правило для браузера iptables -I INPUT 1 -p tcp -d localhost --sport http --dport http -j ACCEPT и iptables -I OUTPUT 1 -p tcp -s localhost --sport http --dport http -j ACCEPT.После временно разрешил весь udp трафик iptables -I INPUT 1 -p udp -d localhost -j ACCEPT и iptables -I OUTPUT 1 -p udp -s localhost -j ACCEPT ,после запускаю браузер пытаюсь куда-нибудь попасть - не получается,не могу понять где ошибка.....

2 Какое создать правило чтобы разрешить браузеру работать с https?
думал так, но правильно ли??:
iptables -I INPUT 1 -p tcp -d localhost --sport https --dport https -j ACCEPT
iptables -I OUTPUT 1 -p tcp -s localhost --sport https --dport https -j ACCEPT

3 и как создать правило для dns чтобы не разрешать весь udp трафик?

Заранее спасибо!!!

Обсуждение

Неизвестный
08.11.2007, 14:16
общий
это ответ
Здравствуйте, Владислав Олегович!

для http/https пишем так:

UNPRIPORT="1024:65535"
iptables -A OUTPUT -p tcp -m tcp -m multiport -o eth0 --sport $UNPRIPORT --dports 80,443 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -m multiport -i eth0 --dport $UNPRIPORT --sports 80,443 -j ACCEPT ! --syn

для dns если правильно понял вопрос:

iptables -A OUTPUT -p udp -m udp -o eth0 --dport 67 --sport 68 -j ACCEPT
iptables -A INPUT -p udp -m udp -i eth0 --dport 68 --sport 67 -j ACCEPT
Неизвестный
08.11.2007, 14:38
общий
это ответ
В дополнение:
главная ошибка в том, что при установлении http-соединения порт назначения (удаленного сервера) 80-й (или "http"), а вот локальный порт выбирается системой случайно, обычно из верхнего диапазона (например, 58876).

Случаи, когда исходный порт и порт назначения совпадают, т.е. когда в одном правиле sport = dport, весьма редки.

Ну и дополнительно, в этом случае не стоит пользоваться именем хоста localhost в правилах, т.к. localhost=127.0.0.1, а внешнее соединение устанавливается с ip-адреса, прописанного в сетевом адаптере. Лучше использовать имя сетевого адаптера (как написано в примере beast).

Для лучшего понимания рекомендую при работающем интернете запустить команду "netstat --tcp -p -n" и посмотреть на список открытых соединений и номера портов.
Форма ответа