VPN+NAT+iptables

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Annihilation
Сообщения: 4

VPN+NAT+iptables

Сообщение Annihilation »

Пытаюсь настроить сабж вроде все работает, кроме нескольких сайтов
по непонятным причинам не работают YANDEX.ru (при чем тольчко поиск)
mail.ru, gismeteo.ru, скорее всего еще какнието, но мне это не известно

настройки iptables
все accept
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

остальное вроде не должно сильно влиять, если что - спрашивайте, я скину настройки
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: VPN+NAT+iptables

Сообщение Civil »

У ppp0 и eth0 отличаются mtu и mru (1500 у eth по умолчанию, а у ppp0 около 1460, в зависимости ещё от протокола) , а NAT не позволяет форвардить соответствующие сообщения об ошибках (которые возникают когда он пытается 1500 байт запихать в 1460). Как один из вариантов решения:

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


Может не самый эффективный, но работоспособный.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Annihilation
Сообщения: 4

Re: VPN+NAT+iptables

Сообщение Annihilation »

проблема в том, что я ваще в первый раз настраиваю ченить подобное, так что большинство по бумажке =)

Как должен был попочь написанный способ ?
после добавления в iptables ничего не изменилось =(
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: VPN+NAT+iptables

Сообщение Civil »

Annihilation
Просто похожие проблемы возникают из-за разных mtu/mru на eth* и ppp0... По крайней мере одна из возможных причин (это 100% так, если на том компе где НАТ - всё работает нормально). Та строка что выше должна помочь иптейблсам резать пакеты, что в ппп0 не упихиваются.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Annihilation
Сообщения: 4

Re: VPN+NAT+iptables

Сообщение Annihilation »

я это примерно понял, но при добавлении этой строки не изменяется ничего
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: VPN+NAT+iptables

Сообщение Civil »

Annihilation
На том компьютере, который раздает и-нет через NAT, всё ок?
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Annihilation
Сообщения: 4

Re: VPN+NAT+iptables

Сообщение Annihilation »

Да
Спасибо сказали:
Civil
Сообщения: 199
ОС: Gentoo Current

Re: VPN+NAT+iptables

Сообщение Civil »

Annihilation
ifconfig ppp0 mtu 1500 не помогает? (если помогает, то ковырять iptables и пытаться понять, почему первый совет не работает)
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
Спасибо сказали:
Аватара пользователя
avk
Сообщения: 62
ОС: ArchLinux, Debian, FreeBSD

Re: VPN+NAT+iptables

Сообщение avk »

а ip_forwarding включен ?
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

Вот таже проблема, пользователь подключается через ВПН и сайты не грузятся. Экспериментировал с МТУ у pptpd - ничего не помогло(изменял его от 1000-1500) прописывал в iptables строки

-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 -j TCPMSS --clamp-mss-to-pmtu - ничего

ip_forwarding - включен.

еще попробую ifconfig ppp0 mtu 1500, но заранее чуствую что не поможет и это
Спасибо сказали:
NemesisSOAD
Сообщения: 94
ОС: Archlinux

Re: VPN+NAT+iptables

Сообщение NemesisSOAD »

mtu 1400 посмотри логи на всяк случай, проверь tcpdump + не поленись заменть сетевушку у друга была похожая проблема - ковырялся месяц, заменил сетевую и всё как по маслу.
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

NemesisSOAD писал(а):
26.11.2008 12:32
mtu 1400 посмотри логи на всяк случай, проверь tcpdump + не поленись заменть сетевушку у друга была похожая проблема - ковырялся месяц, заменил сетевую и всё как по маслу.


В логах пусто. О! По поводу замены сетевой - это идея, попробую. А mtu 1400 ставил и на ppp0 и на интерфейсе - ничего.
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

(((((((((
замена сетевухи не помогла. Логи про ошибки молчат.

вывод tcpdump

Код: Выделить всё

listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 68 bytes
21:33:07.967002 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 634336237:634336237(0) ack 2520327777 win 17680
21:33:09.020779 IP 10.0.0.2.1655 > fx-in-f104.google.com.http: S 659631202:659631202(0) win 16384 <mss 1360,nop,nop,sackOK>
21:33:09.080122 IP fx-in-f104.google.com.http > 10.0.0.2.1655: S 2801786777:2801786777(0) ack 659631203 win 5720 <mss 1360,nop,nop,sackOK>
21:33:09.085358 IP 10.0.0.2.1655 > fx-in-f104.google.com.http: . ack 1 win 17680
21:33:09.089857 IP 10.0.0.2.1655 > fx-in-f104.google.com.http: P 1:728(727) ack 1 win 17680
21:33:09.157215 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . ack 728 win 6543
21:33:09.169535 IP fx-in-f104.google.com.http > 10.0.0.2.1655: P 1:1356(1355) ack 728 win 6543
21:33:09.190001 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:09.190136 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:09.212012 IP fx-in-f104.google.com.http > 10.0.0.2.1655: P 2786:3102(316) ack 728 win 6543
21:33:09.213833 IP 10.0.0.2.1655 > fx-in-f104.google.com.http: . ack 1356 win 16325 <nop,nop,sack 1 {2786:3102}>
21:33:09.593892 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:09.594036 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:10.161994 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:10.162133 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:10.305979 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 0:0(0) ack 1 win 17680
21:33:11.230598 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:11.230741 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:12.798396 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:12.798534 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:14.866699 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:14.866839 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:15.134602 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 0:0(0) ack 1 win 17680
21:33:19.002950 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:19.003092 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:19.165356 IP fx-in-f104.google.com.http > 10.0.0.2.1655: F 3102:3102(0) ack 728 win 6543
21:33:19.166707 IP 10.0.0.2.1655 > fx-in-f104.google.com.http: . ack 1356 win 16325 <nop,nop,sack 1 {2786:3103}>
21:33:21.732988 IP apollo.mezon.ru.http > 10.0.0.2.1653: F 2818636289:2818636289(0) ack 2031429152 win 14028
21:33:21.734557 IP 10.0.0.2.1653 > apollo.mezon.ru.http: . ack 1 win 16768
21:33:21.735204 IP 10.0.0.2.1653 > apollo.mezon.ru.http: F 1:1(0) ack 1 win 16768
21:33:21.864736 IP apollo.mezon.ru.http > 10.0.0.2.1653: . ack 2 win 14028
21:33:24.788981 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 0:0(0) ack 1 win 17680
21:33:27.275374 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:27.275518 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:43.820576 IP fx-in-f104.google.com.http > 10.0.0.2.1655: . 1356:2712(1356) ack 728 win 6543
21:33:43.820714 IP fx-in-f104.google.com > 10.0.0.2: tcp
21:33:44.001838 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 0:0(0) ack 1 win 17680
21:34:22.427360 IP 10.0.0.2.kermit > fx-in-f104.google.com.http: F 0:0(0) ack 1 win 17680


В iptables по правилу что-то всетаки ходит

Код: Выделить всё

   12   576 TCPMSS     tcp  --  *      ppp0    0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 tcpmss match 1300:1500 TCPMSS clamp to PMTU
Спасибо сказали:
NemesisSOAD
Сообщения: 94
ОС: Archlinux

Re: VPN+NAT+iptables

Сообщение NemesisSOAD »

была ещё на работе заметка, завтра дам ссылочку.
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

NemesisSOAD писал(а):
26.11.2008 21:58
была ещё на работе заметка, завтра дам ссылочку.


Буду ждать.
Спасибо сказали:
Аватара пользователя
keir
Сообщения: 317
ОС: linux

Re: VPN+NAT+iptables

Сообщение keir »

а покажите /etc/ppp/options.pptpd
Trust №1
Спасибо сказали:
NemesisSOAD
Сообщения: 94
ОС: Archlinux

Re: VPN+NAT+iptables

Сообщение NemesisSOAD »

в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

keir писал(а):
28.11.2008 18:03
а покажите /etc/ppp/options.pptpd


Прилагаю конфиг /etc/ppp/options.pptpd

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
ms-dns 10.0.0.1
mtu 1480
mru 1480
proxyarp
debug
dump
lock
nobsdcomp
novj
novjccomp
nologfd
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

NemesisSOAD писал(а):
29.11.2008 01:08
в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300


Было добавлено правило в цепочку mangle, по фаеру видно что пакетики в него пападают, НО результата нету ((((((( Гугл как не грузился так и не грузится (((((( А так хотелось поставить ВПН сервер на Генту ((((((
Спасибо сказали:
NemesisSOAD
Сообщения: 94
ОС: Archlinux

Re: VPN+NAT+iptables

Сообщение NemesisSOAD »

где-то у тебя проблема в другом зарыта). Сервер сам настраивал? Если нет то просмотри в каталоге init.d , есть любители зашивать в файлы всё что нужно и что не нужно)
Спасибо сказали:
Rusya89
Сообщения: 10
ОС: Slackware 12.1

Re: VPN+NAT+iptables

Сообщение Rusya89 »

А если попробывать так:

Код: Выделить всё

$IFACE - внешний интерфейс
modprobe iptable_nat
modprobe ipt_MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
IPTABLES -t nat -P POSTROUTING ACCEPT
IPTABLES -t nat -A POSTROUTING -s ppp+ -o $IFACE -j MASQUERADE
IPTABLES -A FORWARD -s ppp+ -j ACCEPT

Если это не поможет возможно что проблема с DNS
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

NemesisSOAD писал(а):
06.12.2008 18:51
где-то у тебя проблема в другом зарыта). Сервер сам настраивал? Если нет то просмотри в каталоге init.d , есть любители зашивать в файлы всё что нужно и что не нужно)


Сервер ставил сам, тоесть крутил с нуля все. Все идеи что были в голове и что мне тут посоветовали - иссякли (((((((
Спасибо сказали:
adminnu
Сообщения: 2

Re: VPN+NAT+iptables

Сообщение adminnu »

у меня тоже самое http://www.linux.org.ru/view-message.jsp?m...2457156#3476503, тоже не знаю уже что делать(
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: VPN+NAT+iptables

Сообщение Olden Gremlin »

yanik писал(а):
01.12.2008 22:56
NemesisSOAD писал(а):
29.11.2008 01:08
в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300


Было добавлено правило в цепочку mangle, по фаеру видно что пакетики в него пападают, НО результата нету ((((((( Гугл как не грузился так и не грузится (((((( А так хотелось поставить ВПН сервер на Генту ((((((
Э-э-э... Господа, а отчего-же в mangle? Когда-то с таким сталкивался (года четыре назад), так как народ жаловался на те-же симптомы, что тут описываются, в итоге добавил:

Код: Выделить всё

-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
но не в mangle, а в filter. И ещё - это правило идёт самым первым в цепочке forward.
Относительно настроек pptpd, было так:

Код: Выделить всё

$ grep -v "^#" pptpd-options | egrep -v "^$"
plugin radius.so
plugin radattr.so
name merlin.olympus.net.ua
ms-dns 193.34.140.1
ms-dns 194.79.20.12
nodefaultroute
lock
nobsdcomp
ipcp-accept-local
ipcp-accept-remote
auth
+chap
+mschap
+mschap-v2
-pap
nomppe
silent
idle 1800
connect-delay 5000
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: VPN+NAT+iptables

Сообщение pelmen »

Первым делом надо проверить nslookup :)
была подобная проблема: на яндекс заходит, а поиск не работает. Так вот червь добавлял кучу хлама в hosts. Нужно было просто удалить этот файл (он не редактируется) и записать туда новый с 127.0.0.1 localhost.
Спасибо сказали:
adminnu
Сообщения: 2

Re: VPN+NAT+iptables

Сообщение adminnu »

Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

мне почемуто не помогло (((((
Перепробовал все что описано выше и ничего. Как гугл не грузился, так и не грузится. Что ж это такое за традла такая??? как же ее решить??? Может что-то нужно в ядре собрать.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: VPN+NAT+iptables

Сообщение sash-kan »

yanik
ответные пакеты от проблемного сайта вообще наблюдаются? может быть, кусочек лога подкинете?
какой mtu присваивается интерфейсам ppp* ? указание mtu в опциях pptpd оказывает на это влияние?

кстати, согласно man iptables, манипуляции с целью tcpmss валидны только в таблице mangle.
это я по поводу этого высказывания:
Olden Gremlin писал(а):
05.02.2009 10:50
но не в mangle, а в filter.


p.s. для самообразования: https://blue-labs.org/howto/mtu-mss.php
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
yanik
Сообщения: 85
ОС: Gentoo

Re: VPN+NAT+iptables

Сообщение yanik »

Ответный сайт точно рабочий, потому как это google.com.ua :)
А теперь вся картина целиком.
Сервер, одна сетевая карта смотрим на модем на ней mtu 1500, модем выступает как роутер, он сам поднимает pppoe соединение и в результате на интерфейсе ppp mtu=1492. Вторая сетевая смотрит в сеть на ней mtu 1500. Пользователи подключаются с помощью pptpd
cat options.pptpd | grep 1400
mtu 1400
mru 1400
Виртуальные интерфейсы пользователей(ppp*) ppp0 mtu:1396
Если менять значения в настройках options.pptpd, то на интерфейсе ppp0 они отражаются
Вписываю вот такое правило
-I FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu
результата ноль.
Кстати если прописать тоже самое в таблице mangle. Результат тотже.
С самого сервере - все нормально.
Спасибо сказали:
Аватара пользователя
Olden Gremlin
Сообщения: 365
Статус: RAP22-RIPE
ОС: Debian GNU/Linux Wheezy

Re: VPN+NAT+iptables

Сообщение Olden Gremlin »

sash-kan писал(а):
29.07.2009 19:46
кстати, согласно man iptables, манипуляции с целью tcpmss валидны только в таблице mangle.
это я по поводу этого высказывания:
Olden Gremlin писал(а):
05.02.2009 10:50
но не в mangle, а в filter.
Ай, Александр, так ведь на идею использования вышеприведённой конструкции как-раз ты меня и натолкнул. Разве не помнишь? ;) А уж потом я её осилил и, как говориться, осознал :)
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE
Спасибо сказали: