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

Исходное сообщение
"Как перенаправить запрос и закрыть все осталбные порты кроме одного"

Отправлено PCHunter , 11-Дек-07 15:28 
Есть сеть 10.10.5.х
Сервер 10.10.5.10 он работает  чё то на типе маршрутизатора
Два интерфейса eth0 = 10.10.5.10 eth1 = 192.168.1.110 смотрит на АДСЛ
echo 1> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
всё бегает и работает но задача состоит в том что бы пробросить аську которая у нашего провайдера бесплатная то есть идея состоит в что бы добавить у пользователей маршут
route add login.icq.com mask 255.255.255.255 10.10.5.10
на локальном днс прописать что login.icq.com это на самом деле адрес аськт нашего провайдера
но как сделать так что бы клиент не заподозрил подмены то есть комп загрузил инет не подключен он у нас через ВПН
и как закрыть eth1 от выхода через него на другие айпи и порты



Содержание

Сообщения в этом обсуждении
"Как перенаправить запрос и закрыть все осталбные порты кроме..."
Отправлено stakado , 11-Дек-07 16:19 
Если всё правильно понял из вышеописанного:
# установка разрешающей политики на пост-маршрутизацию
iptables -P POSTROUTING ACCEPT
# очистка таблицы FORWARD
iptables -F FORWARD
# выставление политики разрешающей форвардить
iptables -P FORWARD ACCEPT
# разрешение форвардить пакеты с eth0 на eth1 от 10.10.5.0/24 на provider_icq_ip на порт 5190
iptables -A FORWARD -i eth0 -o eth1 -s 10.10.5.0/24 -d provider_icq_ip --dport 5190 -j ACCEPT
# разрешение на хождение пакетов в обратном направлении
iptables -A FORWARD -i eth1 -o eth0 -s provider_icq_ip -d 10.10.5.0/25 --sport 5190 -j ACCEPT
# вместо provider_icq_ip - указать ip icq-сервера провайдера
# запрет на форвардинг всего остального
iptables -A FORWARD -j DROP

>route add login.icq.com mask 255.255.255.255 10.10.5.10

При написании этой строки у клиента - на dns-сервере, который используется клиентом запись для login.icq.com уже должна быть подменена, т.к. route не добавляет dns-имена, а конвертирует их в ip в момент добавления.


"Как перенаправить запрос и закрыть все осталбные порты кроме..."
Отправлено PCHunter , 12-Дек-07 10:53 
iptables -P POSTROUTING ACCEPT
на эту команду ругается iptables: Bad built-in chain name

без неё всё окей применяется только не пускает при чём если сбросить правила iptables -F то начинает пропускать
пробовал убрать порты назначения не помогло

[root@wln-fileserver /]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  10.10.5.0/24         217.70.119.181      tcp dpt:5190
ACCEPT     tcp  --  217.70.119.181       10.10.5.0/25        tcp spt:5190
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

вот как сча всё выглядит

#iptables -P POSTROUTING ACCEPT
iptables -F FORWARD
iptables -P FORWARD ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -s 10.10.5.0/24 -d 217.70.119.181 -p tcp --dport 5190 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -s 217.70.119.181 -d 10.10.5.0/25 -p tcp --sport 5190 -j ACCEPT
iptables -A FORWARD -j DROP

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


"Как перенаправить запрос и закрыть все осталбные порты кроме..."
Отправлено stakado , 12-Дек-07 14:19 
>iptables -P POSTROUTING ACCEPT
>на эту команду ругается iptables: Bad built-in chain name

пардон, прогнался:
iptables -t nat -P POSTROUTING ACCEPT

>без неё всё окей применяется только не пускает при чём если сбросить
>правила iptables -F то начинает пропускать
>пробовал убрать порты назначения не помогло

Что выдаёт iptables -t nat -L?
Перед дропом в таблице форвард вставь лог, посмотри совпадают ли указанные ип/порты/интерфейсы.
iptables -I FORWARD 3 -j LOG --log-prefix "FWD: " # в твоём случае

А проще - напиши в асю - 26420654.