VPN+NAT+iptables
Модераторы: SLEDopit, Модераторы разделов
-
Annihilation
- Сообщения: 4
VPN+NAT+iptables
Пытаюсь настроить сабж вроде все работает, кроме нескольких сайтов
по непонятным причинам не работают YANDEX.ru (при чем тольчко поиск)
mail.ru, gismeteo.ru, скорее всего еще какнието, но мне это не известно
настройки iptables
все accept
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
остальное вроде не должно сильно влиять, если что - спрашивайте, я скину настройки
по непонятным причинам не работают 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
У 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
проблема в том, что я ваще в первый раз настраиваю ченить подобное, так что большинство по бумажке =)
Как должен был попочь написанный способ ?
после добавления в iptables ничего не изменилось =(
Как должен был попочь написанный способ ?
после добавления в iptables ничего не изменилось =(
-
Civil
- Сообщения: 199
- ОС: Gentoo Current
Re: VPN+NAT+iptables
Annihilation
Просто похожие проблемы возникают из-за разных mtu/mru на eth* и ppp0... По крайней мере одна из возможных причин (это 100% так, если на том компе где НАТ - всё работает нормально). Та строка что выше должна помочь иптейблсам резать пакеты, что в ппп0 не упихиваются.
Просто похожие проблемы возникают из-за разных mtu/mru на eth* и ppp0... По крайней мере одна из возможных причин (это 100% так, если на том компе где НАТ - всё работает нормально). Та строка что выше должна помочь иптейблсам резать пакеты, что в ппп0 не упихиваются.
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
-
Annihilation
- Сообщения: 4
Re: VPN+NAT+iptables
я это примерно понял, но при добавлении этой строки не изменяется ничего
-
Civil
- Сообщения: 199
- ОС: Gentoo Current
Re: VPN+NAT+iptables
Annihilation
На том компьютере, который раздает и-нет через NAT, всё ок?
На том компьютере, который раздает и-нет через NAT, всё ок?
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
-
Civil
- Сообщения: 199
- ОС: Gentoo Current
Re: VPN+NAT+iptables
Annihilation
ifconfig ppp0 mtu 1500 не помогает? (если помогает, то ковырять iptables и пытаться понять, почему первый совет не работает)
ifconfig ppp0 mtu 1500 не помогает? (если помогает, то ковырять iptables и пытаться понять, почему первый совет не работает)
"Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым" (Д. Оруэлл "1984")
-
avk
- Сообщения: 62
- ОС: ArchLinux, Debian, FreeBSD
Re: VPN+NAT+iptables
а ip_forwarding включен ?
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
Вот таже проблема, пользователь подключается через ВПН и сайты не грузятся. Экспериментировал с МТУ у 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, но заранее чуствую что не поможет и это
-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
mtu 1400 посмотри логи на всяк случай, проверь tcpdump + не поленись заменть сетевушку у друга была похожая проблема - ковырялся месяц, заменил сетевую и всё как по маслу.
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
NemesisSOAD писал(а): ↑26.11.2008 12:32mtu 1400 посмотри логи на всяк случай, проверь tcpdump + не поленись заменть сетевушку у друга была похожая проблема - ковырялся месяц, заменил сетевую и всё как по маслу.
В логах пусто. О! По поводу замены сетевой - это идея, попробую. А mtu 1400 ставил и на ppp0 и на интерфейсе - ничего.
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
(((((((((
замена сетевухи не помогла. Логи про ошибки молчат.
вывод tcpdump
В iptables по правилу что-то всетаки ходит
замена сетевухи не помогла. Логи про ошибки молчат.
вывод 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
была ещё на работе заметка, завтра дам ссылочку.
-
yanik
- Сообщения: 85
- ОС: Gentoo
-
keir
- Сообщения: 317
- ОС: linux
-
NemesisSOAD
- Сообщения: 94
- ОС: Archlinux
Re: VPN+NAT+iptables
в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300
-
yanik
- Сообщения: 85
- ОС: Gentoo
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
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
где-то у тебя проблема в другом зарыта). Сервер сам настраивал? Если нет то просмотри в каталоге init.d , есть любители зашивать в файлы всё что нужно и что не нужно)
-
Rusya89
- Сообщения: 10
- ОС: Slackware 12.1
Re: VPN+NAT+iptables
А если попробывать так:
Если это не поможет возможно что проблема с DNS
Код: Выделить всё
$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
NemesisSOAD писал(а): ↑06.12.2008 18:51где-то у тебя проблема в другом зарыта). Сервер сам настраивал? Если нет то просмотри в каталоге init.d , есть любители зашивать в файлы всё что нужно и что не нужно)
Сервер ставил сам, тоесть крутил с нуля все. Все идеи что были в голове и что мне тут посоветовали - иссякли (((((((
-
adminnu
- Сообщения: 2
Re: VPN+NAT+iptables
у меня тоже самое http://www.linux.org.ru/view-message.jsp?m...2457156#3476503, тоже не знаю уже что делать(
-
Olden Gremlin
- Сообщения: 365
- Статус: RAP22-RIPE
- ОС: Debian GNU/Linux Wheezy
Re: VPN+NAT+iptables
Э-э-э... Господа, а отчего-же в mangle? Когда-то с таким сталкивался (года четыре назад), так как народ жаловался на те-же симптомы, что тут описываются, в итоге добавил:yanik писал(а): ↑01.12.2008 22:56NemesisSOAD писал(а): ↑29.11.2008 01:08в цепочке mangle: -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1300
Было добавлено правило в цепочку mangle, по фаеру видно что пакетики в него пападают, НО результата нету ((((((( Гугл как не грузился так и не грузится (((((( А так хотелось поставить ВПН сервер на Генту ((((((
Код: Выделить всё
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuОтносительно настроек 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
Первым делом надо проверить nslookup 
была подобная проблема: на яндекс заходит, а поиск не работает. Так вот червь добавлял кучу хлама в hosts. Нужно было просто удалить этот файл (он не редактируется) и записать туда новый с 127.0.0.1 localhost.
была подобная проблема: на яндекс заходит, а поиск не работает. Так вот червь добавлял кучу хлама в hosts. Нужно было просто удалить этот файл (он не редактируется) и записать туда новый с 127.0.0.1 localhost.
-
adminnu
- Сообщения: 2
Re: VPN+NAT+iptables
решение нашлось, тут:
http://www.securitylab.ru/forum/forum21/topic43890/messages/
http://www.securitylab.ru/forum/forum21/topic43890/messages/
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
мне почемуто не помогло (((((
Перепробовал все что описано выше и ничего. Как гугл не грузился, так и не грузится. Что ж это такое за традла такая??? как же ее решить??? Может что-то нужно в ядре собрать.
Перепробовал все что описано выше и ничего. Как гугл не грузился, так и не грузится. Что ж это такое за традла такая??? как же ее решить??? Может что-то нужно в ядре собрать.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: VPN+NAT+iptables
yanik
ответные пакеты от проблемного сайта вообще наблюдаются? может быть, кусочек лога подкинете?
какой mtu присваивается интерфейсам ppp* ? указание mtu в опциях pptpd оказывает на это влияние?
кстати, согласно man iptables, манипуляции с целью tcpmss валидны только в таблице mangle.
это я по поводу этого высказывания:
p.s. для самообразования: https://blue-labs.org/howto/mtu-mss.php
ответные пакеты от проблемного сайта вообще наблюдаются? может быть, кусочек лога подкинете?
какой mtu присваивается интерфейсам ppp* ? указание mtu в опциях pptpd оказывает на это влияние?
кстати, согласно man iptables, манипуляции с целью tcpmss валидны только в таблице mangle.
это я по поводу этого высказывания:
p.s. для самообразования: https://blue-labs.org/howto/mtu-mss.php
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
yanik
- Сообщения: 85
- ОС: Gentoo
Re: VPN+NAT+iptables
Ответный сайт точно рабочий, потому как это 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. Результат тотже.
С самого сервере - все нормально.
А теперь вся картина целиком.
Сервер, одна сетевая карта смотрим на модем на ней 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
Ай, Александр, так ведь на идею использования вышеприведённой конструкции как-раз ты меня и натолкнул. Разве не помнишь?
«Когда у общества нет цветовой дифференциации штанов — то нет цели!»
nic-hdl: RAP22-RIPE