LINUX.ORG.RU
ФорумAdmin

цепочка из 2х серверов openvpn

 ,


0

3

Всем привет! заранее извиняюсь, облазил сайт , видел подобные темы, но решения так и не нашел. есть несколько инструкций в сети по настройке, но мне почему-то не помогла ни одна. суть как обычно клиент -> сервер1 -> сервер2 -> интернет на сервере 1 создаю 2 конфига - серверный(для подключения клиента) и клиентский (для подключения к серверу 2) на сервере 2 соответственно серверный конфиг

форвардинг везде повключал, повесил маскарады на нужные интерфейсы, но когда подключаюсь, сети нет...

11.1.0.0 сеть между клиентом и сервером 1

12.1.0.0 Сеть между сервером 1 и сервером 2

при подключении сервера 1 к серверу 2 , сервер 1 получает ip 12.1.0.6

когда подключаюсь к серверу 1, дальше 12.1.0.6 ничего не видно...

Я в линуксе новичок, поэтому очень прошу помощи.

сервер1:

iptables-save:
-A POSTROUTING -s 11.1.0.0/24 -o tun10 -j MASQUERADE
-A POSTROUTING -s 12.1.0.0/24 -o tun21 -j MASQUERADE
-A FORWARD -s 11.1.0.0/24 -j ACCEPT
-A FORWARD -s 12.1.0.0/24 -j ACCEPT
ip ro:
11.1.0.0/24 via 11.1.0.2 dev tun21
11.1.0.2 dev tun21  proto kernel  scope link  src 11.1.0.1
12.1.0.0/24 via 12.1.0.5 dev tun10
12.1.0.5 dev tun10  proto kernel  scope link  src 12.1.0.6

где tun10 - клиент к серверу 2

а tun21 - сервер принимающий клиентов

cat /proc/sys/net/ipv4/ip_forward:
1
sysctl -p:
net.ipv4.ip_forward = 1

Сервер 2

iptables-save
-A POSTROUTING -s 12.1.0.0/24 -o eth0 -j MASQUERADE
-A FORWARD -s 12.1.0.0/24 -j ACCEPT
ip ro:
12.1.0.0/24 via 12.1.0.2 dev tun0
12.1.0.2 dev tun0  proto kernel  scope link  src 12.1.0.1
cat /proc/sys/net/ipv4/ip_forward:
1
sysctl -p:
net.ipv4.ip_forward = 1
конфиги сервера 1:

server.conf

port 444
proto tcp
dev tun21
user openvpn
group openvpn
tls-server
server 11.1.0.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
push "dhcp-option DNS 8.8.8.8"
push "redirect-gateway def1"
client-to-client
duplicate-cn
comp-lzo
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
crl-verify /etc/openvpn/crl.pem
tls-auth /etc/openvpn/ta.key 0
log-append /etc/openvpn/serv.log
verb 5

client.conf :

client
remote yy.yy.yy.yy
port 53
proto udp
dev tun10
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
ping 10
verb 5
log-append /etc/openvpn/client.log
mute 10

конфиг на сервере 2

server.conf

port 53
proto udp
dev tun
tls-server
server 12.1.0.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
route 12.1.0.0 255.255.255.0
route 11.1.0.0 255.255.255.0
client-to-client
duplicate-cn
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh.pem
log-append /etc/openvpn/serv.log
verb 5


Последнее исправление: xsanderio (всего исправлений: 1)

Есть такой параметр для openvpn iroute, указывает, какие сети на самом деле скрываются за подключением. Читай, изучай, добавляй.

zgen ★★★★★
()
Ответ на: комментарий от xsanderio

Если я правильно понял схему, то клиент соединяется по VPN к серверу1. При этом сам сервер1 по vpn соединён с сервер2. И сам сервер2 уже ведёт на публичный интернет, к которому хочется доступ получить? Какой внешний интерфейс на интернет? eth0?

turtle_bazon ★★★★★
()
Последнее исправление: turtle_bazon (всего исправлений: 1)
Ответ на: комментарий от xsanderio

На 2-ом сервере нужен маскарадинг на eth0. Наверное, это единсвтенное место, где нужен маскарадинг. ip_forward на обоих серверах нужен.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

ip_forward везде включен. предлагаешь убрать маскарадинг с сервера 1? на 2 сервере висит маскарадинг для сети 12.1.0.0 На eth0 (сеть между серверами), стоит повесить на 11.1.0.0?

xsanderio
() автор топика
Ответ на: комментарий от xsanderio

Давай двигаться последовательно. Везде убери маскарадинги пока. И убери роуты. И смотри пинг с клиента на 12.1.0.6. На клиенте роуты тоже покажи.

turtle_bazon ★★★★★
()
Ответ на: комментарий от turtle_bazon

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

xsanderio
() автор топика
Ответ на: комментарий от xsanderio

я немножко упростил схему. между сервером 1 и 2 создал ptp подключение, у них теперь такие Ip: сервер1 - 12.1.0.2 сервер2 12.1.0.1 сервер для клиентов остался 11.1.0.1 маскарадинг убрал, с клиента пингается 12.1.0.2(который был 12.1.0.6)

роуты сами подымаются, теперь они более вменяемые:

Сервер 1:

ip ro
11.1.0.0/24 via 11.1.0.2 dev tun21
11.1.0.2 dev tun21  proto kernel  scope link  src 11.1.0.1
12.1.0.0/24 via 11.1.0.2 dev tun21
12.1.0.1 dev tun10  proto kernel  scope link  src 12.1.0.2

Сервер 2:

ip ro
11.1.0.0/24 via 12.1.0.2 dev tun0
12.1.0.2 dev tun0  proto kernel  scope link  src 12.1.0.1

При этом я даже вижу с второго сервера 11.1.0.1 (клиентская сеть)

маршруты у клиента:

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.115     25
          0.0.0.0        128.0.0.0         11.1.0.5         11.1.0.6     20
         11.1.0.0    255.255.255.0         11.1.0.5         11.1.0.6     20
         11.1.0.4  255.255.255.252         On-link          11.1.0.6    276
         11.1.0.6  255.255.255.255         On-link          11.1.0.6    276
         11.1.0.7  255.255.255.255         On-link          11.1.0.6    276
         12.1.0.0  255.255.255.255         11.1.0.1         11.1.0.6     21
   107.191.62.104  255.255.255.255      192.168.1.1    192.168.1.115     25
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
        128.0.0.0        128.0.0.0         11.1.0.5         11.1.0.6     20
      192.168.1.0    255.255.255.0         On-link     192.168.1.115    281
    192.168.1.115  255.255.255.255         On-link     192.168.1.115    281
    192.168.1.255  255.255.255.255         On-link     192.168.1.115    281
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link          11.1.0.6    276
        224.0.0.0        240.0.0.0         On-link     192.168.1.115    281
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link          11.1.0.6    276
  255.255.255.255  255.255.255.255         On-link     192.168.1.115    281
===========================================================================

192.168.1.1 это мой роутер

xsanderio
() автор топика
Ответ на: комментарий от xsanderio

так... я пробился до 2 сервера, то есть с клиента через 1 сервер у меня теперь пингается второй сервер 12.1.0.1(в iptables нашел косяк) но сети дальше все равно нет. трассировка показывает что на 12.1.0.1 проходит через 11.1.0.1, тут все верно. подскажите кууда дальше копать, вроде уже совсем чуть чуть осталось)

xsanderio
() автор топика
Ответ на: комментарий от xsanderio

Всем спасибо, решил так: на первом сервере добавил

echo '150 vpn.out' >> /etc/iproute2/rt_tables 
ip rule add from 192.168.100.0/24 table vpn.out 
ip route add default dev tun1 table vpn.out 

C:\Windows\system32>tracert 8.8.8.8

Трассировка маршрута к google-public-dns-a.google.com [8.8.8.8]
с максимальным числом прыжков 30:

  1    49 ms    45 ms    49 ms  11.1.0.1
  2   106 ms    76 ms   114 ms  12.1.0.1
  3    76 ms    75 ms    74 ms  static.33.161.76.144.clients.your-server.de [144
.76.161.33]
  4    77 ms    75 ms    79 ms  static.161.153.76.144.clients.your-server.de [14
4.76.153.161]
  5    74 ms    74 ms   213 ms  hos-tr6.juniper2.rz20.hetzner.de [213.239.233.16
1]
  6    75 ms    74 ms    75 ms  core22.hetzner.de [213.239.245.157]
^C
xsanderio
() автор топика
Ответ на: комментарий от xsanderio

первый кусок нашел на хабре в песочнице, забыл поправить значения на свои, спасибо автору

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