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

Исходное сообщение
"iptables"

Отправлено sanpancho , 12-Июн-09 08:50 
Доброе утро )
Ситуация такая - есть сервер c установленной ОС mandriva,это сервер выступает как интернет шлюз, на нём установлен прокся и почтовик. По топологии сети за этим сервером распологается сервер с Win 2003 (например, ip 10.1.1.1), там установлен Kerio Firewall и поднят VPN-сервер.

Так вот я хочу из дома соединяться благодаря kerio vpn client соединяться c vpn сервером организации и попадать в сеть.
Понимаю что для этого надо настроить iptables на интернет шлюзе, чтоб он пакеты с определенного ip адреса и порта направлял на vpn сервер.
Люди подскажите как правильно это сделать ??
порт у vpn сервера - 4090.
мой ip - 12.12.12.12

вот мой вариант  -

iptables -t nat -A PREROUTING -i eth0 -d 12.12.12.12 -p tcp --dport 4090 -j DNAT --to-destination 10.1.1.1:4090
iptables -t nat -A POSTROUTING -o eth1 -s  10.1.1.1 -p tcp --sport 4090 -j SNAT --to-source 12.12.12.12:4090

я так делал и что то не вышло.


Содержание

Сообщения в этом обсуждении
"iptables"
Отправлено gennadys , 12-Июн-09 09:34 
>[оверквотинг удален]
>мой ip - 12.12.12.12
>
>вот мой вариант  -
>
>iptables -t nat -A PREROUTING -i eth0 -d 12.12.12.12 -p tcp --dport
>4090 -j DNAT --to-destination 10.1.1.1:4090
>iptables -t nat -A POSTROUTING -o eth1 -s  10.1.1.1 -p tcp
>--sport 4090 -j SNAT --to-source 12.12.12.12:4090
>
>я так делал и что то не вышло.

Еще нужно, как минимум:
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -d 12.12.12.12 -p tcp --dport 4090 -m state --state NEW -j ACCEPT
И маршрутизацию включить не забудьте.


"iptables"
Отправлено sanpancho , 12-Июн-09 09:36 
А как проверить включена маршрутизация или нет ?


"iptables"
Отправлено sonkilla , 12-Июн-09 09:47 
>А как проверить включена маршрутизация или нет ?

cat /proc/sys/net/ipv4/ip_forward если там значение 1 то включена если 0 то выключена незнаю как в вашем дистрибутиве но скарей всего так как он редхат лайк то тут vi /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 0

поменять 0 на 1 и ребут сети


"iptables"
Отправлено sanpancho , 12-Июн-09 10:09 
Включено.
Добавил:
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -d 12.12.12.12 -p tcp --dport 4090 -m state --state NEW -j ACCEPT

Все равно не идёт.
Пишет запрос на установление отклонен сервером.
Может логи стоит на сервере посмотреть ?

>>А как проверить включена маршрутизация или нет ?
>
> cat /proc/sys/net/ipv4/ip_forward если там значение 1 то включена если 0 то
>выключена незнаю как в вашем дистрибутиве но скарей всего так как
>он редхат лайк то тут vi /etc/sysctl.conf
># Controls IP packet forwarding
>net.ipv4.ip_forward = 0
>
>поменять 0 на 1 и ребут сети


"iptables"
Отправлено gennadys , 12-Июн-09 11:08 
>Добавил:
>iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
>iptables -A FORWARD -i eth0 -d 12.12.12.12 -p tcp --dport 4090 -m
>state --state NEW -j ACCEPT
>
>Все равно не идёт.
>Пишет запрос на установление отклонен сервером.
>Может логи стоит на сервере посмотреть ?

Посмотрите логи. Можете включить логи и для фильтра пакетов:

iptables -t mangle -A FORWARD -p tcp --dport 4090 -LOG ACCEPT
iptables -t mangle -A FORWARD -p tcp --sport 4090 -LOG ACCEPT

Если сервер отвечает, то очевидно, что пакеты проходят. Значит нужно смотреть настройки самого VPN-сервера.


"iptables"
Отправлено sanpancho , 12-Июн-09 11:35 
запрос на установление отклонен сервером - может сервер который интернет шлюз ??

с настройками впн сервера всё нормуль, там чётко прописано с какого ip можно создавать vpn-туннель.

А куда будут сыпаться логи для фильтра пакета ??

>[оверквотинг удален]
>>Пишет запрос на установление отклонен сервером.
>>Может логи стоит на сервере посмотреть ?
>
>Посмотрите логи. Можете включить логи и для фильтра пакетов:
>
>iptables -t mangle -A FORWARD -p tcp --dport 4090 -LOG ACCEPT
>iptables -t mangle -A FORWARD -p tcp --sport 4090 -LOG ACCEPT
>
>Если сервер отвечает, то очевидно, что пакеты проходят. Значит нужно смотреть настройки
>самого VPN-сервера.


"iptables"
Отправлено gennadys , 12-Июн-09 11:11 
Кстати, а виндовый файрвол не блокирует пакеты?

"iptables"
Отправлено sanpancho , 12-Июн-09 11:36 
Нет, он отключен.
>Кстати, а виндовый файрвол не блокирует пакеты?

"iptables"
Отправлено reader , 12-Июн-09 12:11 
>[оверквотинг удален]
>мой ip - 12.12.12.12
>
>вот мой вариант  -
>
>iptables -t nat -A PREROUTING -i eth0 -d 12.12.12.12 -p tcp --dport
>4090 -j DNAT --to-destination 10.1.1.1:4090
>iptables -t nat -A POSTROUTING -o eth1 -s  10.1.1.1 -p tcp
>--sport 4090 -j SNAT --to-source 12.12.12.12:4090
>
>я так делал и что то не вышло.

интересно у вас получается, DNAT делаете на eth0 и если это интерфейс смотрящий на провайдера, а eth1 смотрит на сервер, то тайный смысл такого SNAT не понятен

покажите iptables-save и укажите какие интерфейсы куда смотрят


"iptables"
Отправлено sanpancho , 12-Июн-09 13:31 
eth0 - интерфейс который смотрит в стороноу провайдера, а eth1 в сторону локалки.

>
>интересно у вас получается, DNAT делаете на eth0 и если это интерфейс
>смотрящий на провайдера, а eth1 смотрит на сервер, то тайный смысл
>такого SNAT не понятен
>
>покажите iptables-save и укажите какие интерфейсы куда смотрят

"iptables"
Отправлено sanpancho , 12-Июн-09 13:32 
а надо на сервере интернет шлюз открывать порт 4090 ??
чтобы к нему коннектился клиент..

"iptables"
Отправлено reader , 12-Июн-09 13:52 
>а надо на сервере интернет шлюз открывать порт 4090 ??
>чтобы к нему коннектился клиент..

и что?
SNAT для пакетов от сервера делается или нет?
у eth1 адрес из подсети 10.1.1.0 ?
у сервера что шлюзом прописано?
на сервер пакеты приходят или нет?
ответы от сервера уходят?


"iptables"
Отправлено sanpancho , 12-Июн-09 14:53 
iptables -t nat -A PREROUTING -p tcp -d $EXT_R_IP --dport $PORT1 -j DNAT --to-destination $LOCAL_IP:$PORT2
iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j ACCEPT


ввёл такого рода команды. до vpn сервера пробиваюсь. и там он выдает ошибку Невозможно организовать туннелирование данных.

Надо в postrouting написать.
помогите..


"iptables"
Отправлено reader , 12-Июн-09 15:30 
>[оверквотинг удален]
>DNAT --to-destination $LOCAL_IP:$PORT2
>iptables -A FORWARD -i eth0 -d $LOCAL_IP -p tcp --dport $PORT2 -j
>ACCEPT
>
>
>ввёл такого рода команды. до vpn сервера пробиваюсь. и там он выдает
>ошибку Невозможно организовать туннелирование данных.
>
>Надо в postrouting написать.
>помогите..

postrouting  такой же как вы и писали только место -o eth1 пишите -o eth0, но если это шлюз и он уже и так для всего SNAT делает, то будет незачем, показывайте iptables-save и ifconfig, только белые адреса замаскируйте, так что бы логика осталась понятна


"iptables"
Отправлено sonkilla , 12-Июн-09 16:02 
за последнюю неделю уже в трех ветках памойму написал а никто нечитает даже.товарищи ЮЗАЙТЕ поиск по подобным проблемам.вопервых в фаире подгрузите модуль ip_nat_pptp (без него и недолжен работать впн через ваш шлюз)во вторых есть генеальная никсовая софтина называеться tcpdump если вы незнаете как с ней работать то никогда нормально без чьей либо помощи несможете разобраться в проблемах в сети,посмотрите на обеих интерфейсах что приходит что уходит.и в третих прочитайте вы уже наконецтаки
http://www.opennet.me/docs/RUS/iptables/