LINUX.ORG.RU
ФорумAdmin

проблема с совместной работой биллинга и vpn


0

0

Есть сервер с двумя сетевухами - eth0 смотрит в интернет, eth1 в локалку. На сервере стоит биллинг Traffpro. Нужно поднять впн, чтобы сотрудники могли из дома попадать в рабочую сеть

pptpd настроен, с отключённым traffpro и сброшенными правилами iptables все работает нормально - удалённые клиенты подключаются, сеть видят. После запуска Traffpro, который подгружает собственные правила фаерволла, юзеры подключающиеся по vpn теряют доступ в сеть, но сам сервер по внутреннему ипишнику (eth1) пингуется. Правила iptables просмотрел, ничего запрещающего маршрутизацию не заметил, форвардинг пакетов включен. Куда копать?

iptables:

server# cat /etc/traffpro/traffpro_rule.cfg
iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -m tcp -p tcp --sport 22 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp --dport 80 -d 172.16.0.0/255.255.0.0 -j ACCEPT
iptables -t mangle -A PREROUTING -s 172.16.0.0/255.255.0.0 -p tcp --dport 80 -j QUEUE
iptables -t mangle -A PREROUTING -s 172.16.0.0/255.255.0.0 -p tcp --dport 3128 -j QUEUE
iptables -t nat -A PREROUTING -m tcp -p tcp -s 172.16.0.0/255.255.0.0 -d ! 172.16.0.0/255.255.0.0 --dport 80 -j REDIRECT --to-ports 3128
iptables -A INPUT -s 172.16.0.0/255.255.0.0 -m tcp -p tcp --dport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp -d 172.16.0.0/255.255.0.0 --sport 3128 -j QUEUE
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_gre
modprobe ip_conntrack_pptp
modprobe ip_nat_pptp

server# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere localnet/16 tcp dpt:www
QUEUE tcp -- localnet/16 anywhere tcp dpt:www
QUEUE tcp -- localnet/16 anywhere tcp dpt:3128

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

server# iptables -t filter -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT gre -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:1723
ACCEPT tcp -- localnet/16 anywhere tcp dpt:3128
ACCEPT all -- anywhere anywhere
QUEUE all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
QUEUE all -- anywhere anywhere

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:ssh
QUEUE tcp -- anywhere localnet/16 tcp spt:3128
ACCEPT all -- anywhere anywhere
QUEUE all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

server# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- localnet/16 !localnet/16 tcp dpt:www redir ports 3128

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere anywhere to:внешний_ипишник

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

★★★★★

Re: проблема с совместной работой биллинга и vpn

> ничего запрещающего маршрутизацию не заметил

равно как и разрешающего.
в дефолт полиси у тебя именно дроп.

chocholl ★★ ()

Re: проблема с совместной работой биллинга и vpn

eth0      Link encap:Ethernet  HWaddr 00:90:27:a7:1e:2b  
          inet addr:213.156.X.X  Bcast:213.156.X.X  Mask:255.255.255.252
          inet6 addr: fe80::290:27ff:fea7:1e2b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14708 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9088471 (8.6 MiB)  TX bytes:2369037 (2.2 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0c:f1:6f:e8:ba  
          inet addr:172.16.214.230  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:f1ff:fe6f:e8ba/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61428 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12421 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:6655978 (6.3 MiB)  TX bytes:6396709 (6.1 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3090 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3090 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:476940 (465.7 KiB)  TX bytes:476940 (465.7 KiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:172.16.214.230  P-t-P:172.16.214.240  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:2566 (2.5 KiB)  TX bytes:468 (468.0 B)

впн-щикам выдается адрес из диапазона 214.240-214.250

Методом научного тыка выяснил, что если выставить FORWARD в ACCEPT (iptables -P FORWARD ACCEPT) и обнулить цепочку (iptables -t filter -F), то все ок. Осталось изобрести правильное правило для iptables

JB ★★★★★ ()

Re: проблема с совместной работой биллинга и vpn

кажется все дело в том, что первым идет правило -A FORWARD -j QUEUE, которое используется для подсчета трафика биллингом. Все идущие за ним правила игнорируются, даже полностью разрешающее -A FORWARD -j ACCEPT. Если правила добавлять перед -j QUEUE, то похоже что игнорироваться будет уже оно

JB ★★★★★ ()

Re: проблема с совместной работой биллинга и vpn

ставь не -A а -I
или даже укажи конкретный лайн.
перед QUEUE, только в селектораз поставь трафик, который идет от впн-щиков в локалку, чтоб не затронуть работу билинга.

chocholl ★★ ()

Re: проблема с совместной работой биллинга и vpn

iptables -I FORWARD 1 -i ppp+ -o eth1 -j ACCEPT
iptables -I FORWARD 1 -o ppp+ -i eth1 -j ACCEPT

такой вариант подходит - правила работают, трафик продолжает считаться

chocholl спасибо за помощь

JB ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.