Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - [решено] iptables для перенаправления VPN и прозрачного прокси

Ответить
Настройки темы
Debian/Ubuntu - [решено] iptables для перенаправления VPN и прозрачного прокси

Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 177


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Tonny_Bennet
Дата: 12-07-2010
Здравствуйте. Есть Ubuntu Server 10.4 работающий в качестве интернет-шлюза, на нём крутится Squid.
ppp0 193.105.33.35 смотрит наружу (статический внешний IP)
eth0 192.168.0.10 смотрит внутрь

В мануале по настройке sqid был скрипт iptables который в принципе работает нормально. (NAT и заворачивание трафика на интерфейс squid) Но помимо прокси ещё нужно завернуть VPN трафик из внешки на локальную машину 192.168.0.100 (она когда то была шлюзом и на ней крутится VPN сервер под 2003 виндой)

Вот скрипт iptables

Код: Выделить весь код
#!/bin/sh
# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
# Заворачиваем http на прокси
iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.10:3128

#Заворачиваем трафик VPN сервера на Win2003

modprobe ip_gre
iptables -A INPUT -p gre -j ACCEPT 
iptables -A OUTPUT -p gre -j ACCEPT
iptables -t nat -A PREROUTING --dst 193.105.33.35 -p tcp --dport 1723 -j DNAT --to-destination 192.168.0.100
iptables -t nat -A POSTROUTING --dst 192.168.0.100 -p tcp --dport 1723 -j SNAT --to-source 192.168.0.10
iptables -t nat -A OUTPUT --dst 193.105.33.35 -p tcp --dport 1723 -j DNAT --to-destination 192.168.0.100
iptables -I FORWARD 1 -i ppp0 -o eth0 -d 192.168.0.100 -p tcp -m tcp --dport 1723 -j ACCEPT
При создании VPN на внешний IP 193.105.33.35 появляется ошибка 721
В логах 2003 сервера пишется:

Код: Выделить весь код
Тип события:	Предупреждение
Источник события:	Rasman
Категория события:	Отсутствует
Код события:	20209
Дата:		10.07.2010
Время:		14:34:38
Пользователь:		Н/Д
Компьютер:	HIGHLANDER
Описание:
Связь между VPN-сервером и VPN-клиентом 192.168.0.10 была установлена, но не удалось завершить установку VPN-подключения. Наиболее вероятная причина - брандмауэр или маршрутизатор между VPN-сервером и VPN-клиентом не разрешает передачу пакетов GRE (Generic Routing Encapsulation) протокола 47. Проверьте, что брандмауэры и маршрутизаторы между этим VPN-сервером и Интернетом разрешают GRE-пакеты. Проверьте, что брандмауэры и маршрутизаторы в сети пользователя также разрешают GRE-пакеты. Если проблема сохраняется, обратитесь к вашему поставщику услуг Интернета (ISP) чтобы проверить, не происходит ли блокирование GRE-пакетов поставщиком.

Дополнительные сведения можно найти в центре справки и поддержки, в "http://go.microsoft.com/fwlink/events.asp".
При подключении на интерфес VPN сервера 192,168,0,100 из локальной сети - коннект проходит удачно

Пожалуйста помогите разобраться

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 14:41, 10-07-2010

 

Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


Tonny_Bennet, Посмотри порядок выполнений правил.
У меня подозрение, что пакеты "заворачиваются" не успев дойти до разрешающего правила.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 21:52, 10-07-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 177

Профиль | Отправить PM | Цитировать


А как это проверить если не секрет?

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 23:37, 10-07-2010 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4463
Благодарности: 994

Профиль | Сайт | Отправить PM | Цитировать


man iptables
Цитата:
-S, --list-rules [chain]
Print all rules in the selected chain. If no chain is selected, all chains are printed like iptables-save.
Like every other iptables command, it applies to the specified table (filter is the default).

-L, --list [chain]
List all rules in the selected chain. If no chain is selected,
all chains are listed. Like every other iptables command, it
applies to the specified table (filter is the default), so NAT
rules get listed by
iptables -t nat -n -L
Please note that it is often used with the -n option, in order
to avoid long reverse DNS lookups. It is legal to specify the

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:27, 11-07-2010 | #4


Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 177

Профиль | Отправить PM | Цитировать


Вот нашёл решение похожей проблемы
http://www.traffpro.ru/forum/topic_969

Но мне немного не понятно что в роли источника и что в роли сервера. Сделал так

iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 193.105.33.35 --dport 1723 -j DNAT --to-destination 192.168.0.10:1723
iptables -A FORWARD -i eth0 -d 192.168.0.10 -p tcp --dport 1723 -j QUEUE

iptables -t nat -A PREROUTING -p 47 -s 0/0 -d 193.105.33.35 -j DNAT --to-destination 192.168.0.10

iptables -A FORWARD -i eth0 -d 192.168.0.10 -p 47 -j QUEUE


Всё равно работать не хочет

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Последний раз редактировалось Tonny_Bennet, 12-07-2010 в 10:53.


Отправлено: 10:17, 12-07-2010 | #5


Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 177

Профиль | Отправить PM | Цитировать


Потанцевал с бубном почитал маны и пришёл к выводу что это задница.... попил чайку..... и всё заработало

Сетевые интерфейсы
читать дальше »

# Интерфейс локальной сети
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
#маршруты в VPN сети
up route add -net 192.168.3.0/24 gw 192.168.0.100 eth0
up route add -net 192.168.2.0/24 gw 192.168.0.100 eth0


#Интерфейс смотрит в сторону провайдера Интернета
auto eth1
iface eth1 inet dhcp

#PPPoE
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider

#запуск NAT и Port-forwarding
post-up /etc/network/nat


Скрипт NAT + PortForwarding
читать дальше »

#!/bin/sh

# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward

# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT

# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT

# Включаем NAT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE

# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT

#Заворачиваем трафик VPN сервера на Win2003

#Модули iptables
modprobe ip_conntrack_ftp
modprobe ip_gre
modprobe ip_conntrack_pptp
modprobe ip_nat_pptp

#Дальше устроим проброс портов
#Организация проброса pptp трафика во внуть сети.
iptables -A FORWARD -p gre -j ACCEPT

iptables -t nat -A PREROUTING --dst 193.105.33.35 -p tcp --dport 1723 -j DNAT --to-destination 192.168.0.100
iptables -t nat -A POSTROUTING --dst 192.168.0.100 -p tcp --dport 1723 -j SNAT --to-source 192.168.0.10
iptables -t nat -A OUTPUT --dst 193.105.33.35 -p tcp --dport 1723 -j DNAT --to-destination 192.168.0.100
iptables -I FORWARD 1 -i ppp0 -o eth0 -d 192.168.0.100 -p tcp -m tcp --dport 1723 -j ACCEPT

# Заворачиваем http на прокси
iptables -t nat -A PREROUTING -i eth0 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.10:3128


P.S. машина 192.168.0.100 - это VPN сервер под Win2003

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 21:49, 12-07-2010 | #6



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - [решено] iptables для перенаправления VPN и прозрачного прокси

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - [решено] Блокировка сайтов, с помощью iptables. БЕЗ ПРОКСИ Сервера. voler Общий по Linux 14 11-04-2015 10:42
Debian/Ubuntu - Настройка IPTables для PPTPD Undel Общий по Linux 2 17-09-2009 17:30
VPN - VPn, прокси, сайт "контакт" скрытие сервера..... Diomant2186 Сетевые технологии 6 13-10-2008 09:42
Интерфейс - [решено] Возврат "отображения прозрачного прямоугольника при выделении" Craager Microsoft Windows 2000/XP 6 03-11-2007 23:19
IPTABLES!!! RULES, Разгавор о iptables BuuG Общий по Linux 17 03-03-2006 16:00




 
Переход