Значит дело вот в чем!
Имеется ком клуб, в нем два основных сервера,(системы fedora5) на одном стоит билинг (192.168.17.10)(он является главным роутером клуба), второй(192.168.17.254)(в качестве шлюза инета. у 192.168.17.254 два интерфейса один смотрит в клинтскую часть(пользователи)
, второй интерфейс адмиские компы.(инет берем у провайдера тоже по vpn)Подскажите пож. как написать правила iptables, чтобы когда и юзеры с клуба и админы с админских компов конектились к vpn (192.168.17.254) у них был инет!
билинг настроен и vpn тоже, просто при подключение к создается интерфейс, а инета нет!
задача заставить идти инет с ppp0 на ppp1-xПомогиите пожалуйста с данной проблеммой! За ранее огромное спасибо!
>задача заставить идти инет с ppp0 на ppp1-x
>
>Помогиите пожалуйста с данной проблеммой! За ранее огромное спасибо!
Там скорее всег дело не в iptables.
При поднятии интерфейсов pppN соответствующие динамические переменный ядра, отвечающие за L2 forwarding, должны быть учтановлены в "1".$ sysctl -a | grep forwarding
net.ipv4.conf.eth0.forwarding = 0
....У тебя должно быть что-то типа net.ipv4.conf.ppp0.forwarding и net.ipv4.conf.ppp1.forwarding. Устанавливаешь их в "1":
$ sysctl -w net.ipv4.conf.ppp0.forwarding=1
$ sysctl -w net.ipv4.conf.ppp1.forwarding=1
>
>$ sysctl -w net.ipv4.conf.ppp0.forwarding=1
>$ sysctl -w net.ipv4.conf.ppp1.forwarding=1
то есть мне надо включить форвард для ppp0, только не пойму зачем для ppp1 это ж уже клиенты, да к стати NAT настроен на второй сервер и там локальный инет!Завтра попробую и отпишусь!
>>
>>$ sysctl -w net.ipv4.conf.ppp0.forwarding=1
>>$ sysctl -w net.ipv4.conf.ppp1.forwarding=1
>
>
>то есть мне надо включить форвард для ppp0, только не пойму зачем
>для ppp1 это ж уже клиенты, да к стати NAT настроен
> на второй сервер и там локальный инет!
>
>Завтра попробую и отпишусь!net.ipv4.conf.<interface>.forwarding=1 разрешает форвардинг пакетов для интерфейса (с него и на него [in/out]). Чтобы разрешить передачу между любой парой интерфейсов - нужно установить forwarding в "1" для обоих (насколько я понял из поставленной тобой задачи). Если нет - опиши по-сути нормально. Просто forwarding=1 - распространенный недочет в таких ситуациях.
по интерфейсу ppp0 мы берем инет у провайдера, а интерфейсы ppp1, ppp2, ppp3, pppx это интерфейсы клиентов, вот и задача направить пакеты с ppp0 на ppp1, ppp2, ppp3, pppx и т д.
>по интерфейсу ppp0 мы берем инет у провайдера, а интерфейсы ppp1, ppp2,
>ppp3, pppx это интерфейсы клиентов, вот и задача направить пакеты с
>ppp0 на ppp1, ppp2, ppp3, pppx и т д.Задача "направить" - это задача процесса маршрутизации. Здесь можут быть много вариантов (вплоть до PBR с несколькими таблицами маршрутизации). Если ситуация тривиальна - тоесть ppp0 это default gateway у тебя, тогда все должно работать без всяких PBR. Но, опять таки, чтобы пакеты перебрасывались с ppp0 на ppp<N> (и наоборот :) ), то fowrarding должен быть установлен в "1" для каждого из участвующих интерфейсов.
у меня стоит net.ipv4.ip_forward = 1
Вот еще что заметил, когда конектится клиент создается интерфейс ppp1, и сразу на сервере пропадает инет, то есть нет пинга с инетовскими айпишниками, может в static-routes прописать, чтобы все адреса кроме локальных шли через ppp0 (192.168.41.15) ?
Я так и не понял, почему новое подключение ppp1 валит ppp0хотя в настройка ppp0 поставил defaultroute
кто сталкивался с данной проблеммой?
>Я так и не понял, почему новое подключение ppp1 валит ppp0
>
>хотя в настройка ppp0 поставил defaultroute
>
>кто сталкивался с данной проблеммой?
#ip addr ls
и
#ip r ls
до и после поднятия ppp1 на сервере
>>Я так и не понял, почему новое подключение ppp1 валит ppp0
>>
>>хотя в настройка ppp0 поставил defaultroute
>>
>>кто сталкивался с данной проблеммой?
>
>
>#ip addr ls
>и
>#ip r ls
>до и после поднятия ppp1 на сервередо поднятия
ip addr ls
...................
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.11.14 peer 203.130.21.94/32 scope global ppp0ip r ls
203.130.21.94 dev ppp0 proto kernel scope link src 192.168.11.14...................
default via 203.130.21.94 dev ppp0
после подгятия ppp1ip addr ls
........................
6: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.11.14 peer 203.130.21.94/32 scope global ppp0
12: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.11.14 peer 172.16.18.1/32 scope global ppp1ip r ls
172.16.18.1 dev ppp1 proto kernel scope link src 192.168.11.14
203.130.21.94 dev ppp0 proto kernel scope link src 192.168.11.14............................
default via 203.130.21.94 dev ppp0
слегка поменялись айпи из начально были другиеppp0(192.168.11.14) я его поставил в pptpd.conf "localip 192.168.11.14"
pppN 172.16.18.xтакой вопрос в конфиге pptpd.conf в localip что указывать надо тот айпи что мне назначается в ppp0 или нет? или просто на писать любой из подсети 172.16.18.x , ну например 172.16.18.100
>такой вопрос в конфиге pptpd.conf в localip что указывать надо тот
>айпи что мне назначается в ppp0 или нет? или просто на
>писать любой из подсети 172.16.18.x , ну например 172.16.18.100Типичная схема подключения клиентов: провайдер реализовывает VPN-концентратор (pptp сервер) - Вы к нему подключаетесь (тоесть ppp0 - это результат работы Вашего VPN-клиента - pptpclient). Далее, как я понимаю, Вы подымаете свой VPN-сервер (pptpd), куда терминируете своих "локальных" клиентов - в результате ppp<N> (N>0).
Для ppp0 (в настройках pptpclient) у Вас доджно быть:
ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
inet 203.130.21.93/32 peer 203.130.21.94/32
Где 203.130.21.93/32 - ip выданный Вам провайдером, 203.130.21.94/32 - ip интерфейса VPN-концентратора провайдера.Далее..
Подымаете pptpd.
Допустим у Вас 9 клиентов:
localip 192.168.0.1
remoteip 192.168.0.2-10
Тогда inet адреса ppp<N> у Вас все будут 192.168.0.1, адреса пиров - 192.168.0.2...192.168.0.10.В результате получится картина типа:
#ip addr ls
1: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 203.130.21.94/32 peer 203.130.21.94/32 scope global ppp0
2: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.0.1 peer 192.168.0.2 scope global ppp1
3: ppp2: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 192.168.0.1 peer 192.168.0.3 scope global ppp2!!!MTU 1400!!!!
Теперь пакеты с ppp<N> будут уходить на ppp0, но с srcIP = 192.168.0.2-10 - ответа естественно не будит.
Ну и конечно же NAT (точнее маcкарадинг) - "для пакетов, уходящих с ppp0 менять srcIP на IP ppp0".Для виндовых клиентов там еще proxyarp...вобщем можно по букварю.
Сомневаюсь, что провайдер у вас pptp-client на ppp0 интерфейсе, isn't it?
>Сомневаюсь, что провайдер у вас pptp-client на ppp0 интерфейсе, isn't it?А провайдер у меня действительно ppp0
>
>>Сомневаюсь, что провайдер у вас pptp-client на ppp0 интерфейсе, isn't it?
>
>А провайдер у меня действительно ppp0
вот после того как mtu 1400, вот такая картина
21: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 62.221.44.93 peer 213.130.22.97/32 scope global ppp027: ppp1: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1400 qdisc pfifo_fast qlen 3
link/ppp
inet 172.16.18.254 peer 172.16.18.1/32 scope global ppp1значит пишу в консоли например ping ya.ru идет пинг, как только конектится клиент(появляется ppp1) пинг пропадает, как только отключается пинг возобновляется, у клиента нет инета все равно!
У меня есть вопрос !Если я в static-routes пропишу
any net 0.0.0.0/0 gw x.x.x.x
будет ли весь инет идти через gw который мне выдает VPN ?
у VPN маска 255,255,255,255