LINUX.ORG.RU
ФорумAdmin

OPENVPN. Привязка статических адресов к клиентам

 , , ,


0

1

Приветствую. Арендовал VPS на Debian, поднял OpenVPN. Хостинг-провайдер выделил дополнительные статические IP-адреса, в кол-ве 10 шт. (В системе отображены как: venet0:0... venet0:1.. venet0:2 и т.д). Подскажите пожалуйста, каким образом можно сделать привязку каждого адреса (интерфейса) к подключаемому клиенту, например к сертификату? Чтобы статические IP-адреса были присвоены клиентам при подключении каждый раз одни и те же, не менялись, не пересекались со временем.

Например:

  • клиент1 - 27.0.*.31
  • клиент2 - 27.0.*.32
  • клиент3 - 27.0.*.33

..и т.д.

root@zn-px3:~# ifconfig
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:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:31598 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23630 errors:0 dropped:4 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:22122393 (21.0 MiB)  TX bytes:3333290 (3.1 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:27.0.*.121  P-t-P:27.0.*.121  Bcast:27.0.*.121  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:27.0.*.35  P-t-P:27.0.*.35  Bcast:27.0.*.35  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:2  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:27.0.*.34  P-t-P:27.0.*.34  Bcast:27.0.*.34  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:3  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:27.0.*.33  P-t-P:27.0.*.33  Bcast:27.0.*.33  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:4  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:27.0.*.32  P-t-P:27.0.*.32  Bcast:27.0.*.32  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1 

Чтобы статические IP-адреса были присвоены клиентам при подключении каждый раз одни и те же, не менялись, не пересекались со временем

В /etc/openvpn/ccd/ создаешь файл по имени клиента, в котором, например:

ifconfig-push xx.xx.xx.10 xx.xx.xx.9

И в конфиге сервера:

client-config-dir ccd

vvn_black ★★★★★
()

Например:
клиент1 - 27.0.*.31
клиент2 - 27.0.*.32
клиент3 - 27.0.*.33

А вообще, мне кажется, ты хочешь чего-то странного, не связанного с openvpn.

vvn_black ★★★★★
()

так как адреса уже привязаны к вашей виртуалке, вам нужно делать нат для каждого клиента iptables -t nat -A POSTROUTING -s адрес_клиента -j SNAT --to-source внешний_адрес

Rost ★★★★★
()
20 июня 2016 г.
Ответ на: комментарий от OldManClone

У меня задача «привязать» клиентов, каждого к отдельному, внешнему IP. Сейчас ситуация такая, что снаружи у любого клиента OpenVPN, даже если подключились напрямую к адресам venet0:1, venet0:2, etc. — один и тот же внешний IP адрес основного интерфейса venet0:0.

Правила IPTABLES, указанные при настройке OpenVPN:


/sbin/iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE
/sbin/iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

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