Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: OpenVPN сеть между 2 офисами( 2 vpn сервера)  (Прочитано 1020 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ImperatorR

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
OpenVPN сеть между 2 офисами( 2 vpn сервера)
Всем добрый день.
вырезка из задания: должен обеспечиваться защищенный обмен информацией между отдельными определенными компьютерами локальных сегментов сети, так и между определенными компьютерами, принадлежащих локальным сетям территориально удаленным подразделениям

Все делается на виртуалке VMware
на виртуалке включен NAT:
сеть 196.168.111.0\24
шлюз 196.168.111.2


типа 1 офис (Linus open Suse 12.3):
vpn сеть выдается 10.8.0.0\24
сервак1 -196.168.111.112 (vpn ip 10.8.0.1, шлюз в ifconfig : 10.8.0.2)
клиент1  196.168.111.* (vpn ip 10.8.0.6,  шлюз в ifconfig : 10.8.0.5)
клиент2  196.168.111.* (vpn ip 10.8.0.10,  шлюз в ifconfig : 10.8.0.9)

офис 2 (Linux Mandriva 2009)
vpn сеть 10.8.2.0\24
сервак1 -196.168.111.118 (vpn ip 10.2.8.1  шлюз в ifconfig  10.8.2.2)
клиент3  196.168.111.* (vpn ip 10.8.2.6,  шлюз в ifconfig : 10.8.2.5)
клиент4  196.168.111.* (vpn ip 10.8.2.10,  шлюз в ifconfig : 10.8.2.9)

ключи и сертификаты генерировал на каждом сервере отдельно, т.е. файлы с первого сервака: ca.crt  server1.crt  server1.key  dh1024.pem  и на втором серваке: ca.crt  server2.crt  server2.key  dh1024.pem   РАЗНЫЕ

На Suse фаервол экран отключен через Yast, т.к. когда он включен, ни один клиент не может подключиться...
на mandriva тоже фаервол отключен.

Конфиг сервера 1 (офис 1)
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server1.crt
key /etc/openvpn/server1.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
client-to-client
keepalive 10 120
cipher AES-128-CBC   # AES
comp-lzo
persist-key
persist-tun
status /etc/openvpn/openvpn-status.log
verb 3

Конфиг клиента 1 (офис 1)
client
dev tun
proto udp
remote 192.168.111.112 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
ns-cert-type server
cipher AES-128-CBC    # AES
comp-lzo
verb 3

У второго соответственно такой же, только имена сертификатов и ключей client2

Конфиг сервера 2 (офис 2)
port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server2.crt
key /etc/openvpn/server2.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.8.2.0 255.255.255.0
client-to-client
keepalive 10 120
cipher AES-128-CBC   # AES
comp-lzo
persist-key
persist-tun
status /etc/openvpn/openvpn-status.log
verb 3

Конфиг клиента 3 (офис 2)
client
dev tun
proto udp
remote 192.168.118.112 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client4.crt
key /etc/openvpn/client4.key
ns-cert-type server
cipher AES-128-CBC    # AES
comp-lzo
verb 3

У второго соответственно такой же, только имена сертификатов и ключей client4

Выводы с Офиса 1 (фаервол откл) (OpenSuse 12.3 везде) :
Сервер 1:
ip a:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:43:7a:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.112/24 brd 192.168.111.255 scope global eth0
    inet6 fe80::20c:29ff:fe43:7a44/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0

ip r:
default via 192.168.111.2 dev eth0
10.8.0.0/24 via 10.8.0.2 dev tun0
10.8.0.2 dev tun0  proto kernel  scope link  src 10.8.0.1
127.0.0.0/8 dev lo  scope link
169.254.0.0/16 dev eth0  scope link
192.168.111.0/24 dev eth0  proto kernel  scope link  src 192.168.111.112

iptables-save:
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 08:28:01 2013
*raw
:PREROUTING ACCEPT [545:54599]
:OUTPUT ACCEPT [231:23307]
COMMIT
# Completed on Tue Apr 16 08:28:01 2013
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 08:28:01 2013
*filter
:INPUT ACCEPT [545:54599]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [231:23307]
COMMIT
# Completed on Tue Apr 16 08:28:01 2013

Клиент 1(фаервол вкл.):

ip a:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:32:9b:5d brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.114/24 brd 192.168.111.255 scope global eth0
    inet6 fe80::250:56ff:fe32:9b5d/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.8.0.6 peer 10.8.0.5/32 scope global tun0

ip r:
default via 192.168.111.2 dev eth0
10.8.0.0/24 via 10.8.0.5 dev tun0
10.8.0.5 dev tun0  proto kernel  scope link  src 10.8.0.6
127.0.0.0/8 dev lo  scope link
169.254.0.0/16 dev eth0  scope link
192.168.111.0/24 dev eth0  proto kernel  scope link  src 192.168.111.114

iptables-save:(после iptables -F добавляет их заного через секунду)

linux-tcyh:~ # iptables-save
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 10:04:33 2013
*raw
:PREROUTING ACCEPT [105:11576]
:OUTPUT ACCEPT [94:8451]
-A PREROUTING -i lo -j CT --notrack
-A OUTPUT -o lo -j CT --notrack
COMMIT
# Completed on Tue Apr 16 10:04:33 2013
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 10:04:33 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [94:8451]
:forward_ext - [0:0]
:input_ext - [0:0]
:reject_func - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m conntrack --ctstate RELATED -j ACCEPT
-A INPUT -j input_ext
-A INPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-IN-ILL-TARGET " --log-tcp-options --log-ip-options
-A INPUT -j DROP
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options
-A OUTPUT -o lo -j ACCEPT
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A input_ext -p udp -m udp --sport 137 -m conntrack --ctstate RELATED -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 139 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 139 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 445 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 445 -j ACCEPT
-A input_ext -m pkttype --pkt-type multicast -j DROP
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p udp -m limit --limit 3/min -m conntrack --ctstate NEW -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -j DROP
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Tue Apr 16 10:04:33 2013

Клиент 2(фаервол вкл.):
ip a:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:fa:53:de brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.116/24 brd 192.168.111.255 scope global eth0
    inet6 fe80::20c:29ff:fefa:53de/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/none
    inet 10.8.0.10 peer 10.8.0.9/32 scope global tun0

ip r:
default via 192.168.111.2 dev eth0
10.8.0.0/24 via 10.8.0.9 dev tun0
10.8.0.9 dev tun0  proto kernel  scope link  src 10.8.0.10
127.0.0.0/8 dev lo  scope link
169.254.0.0/16 dev eth0  scope link
192.168.111.0/24 dev eth0  proto kernel  scope link  src 192.168.111.116

iptables-save: (после очистки iptables -F ,  добавляет их заного Сразу)

linux-rdtl:~ # iptables-save
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 18:03:22 2013
*raw
:PREROUTING ACCEPT [15:2307]
:OUTPUT ACCEPT [10:1174]
-A PREROUTING -i lo -j CT --notrack
-A OUTPUT -o lo -j CT --notrack
COMMIT
# Completed on Tue Apr 16 18:03:22 2013
# Generated by iptables-save v1.4.16.3 on Tue Apr 16 18:03:22 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [10:1174]
:forward_ext - [0:0]
:input_ext - [0:0]
:reject_func - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m conntrack --ctstate RELATED -j ACCEPT
-A INPUT -j input_ext
-A INPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-IN-ILL-TARGET " --log-tcp-options --log-ip-options
-A INPUT -j DROP
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options
-A OUTPUT -o lo -j ACCEPT
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 1723 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 1723 -j ACCEPT
-A input_ext -m pkttype --pkt-type multicast -j DROP
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p udp -m limit --limit 3/min -m conntrack --ctstate NEW -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -j DROP
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Tue Apr 16 18:03:22 2013


Офис 2 (Mandriva 2009 везде ):
Сервер 2:

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:3e:44:97 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.118/24 brd 192.168.111.255 scope global eth1
    inet6 fe80::250:56ff:fe3e:4497/64 scope link
       valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/[65534]
    inet 10.8.2.1 peer 10.8.2.2/32 scope global tun0

[root@localhost ~]# ip r
10.8.2.2 dev tun0  proto kernel  scope link  src 10.8.2.1
10.8.2.0/24 via 10.8.2.2 dev tun0
192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.118
169.254.0.0/16 dev eth1  scope link
default via 192.168.111.2 dev eth1



[root@localhost ~]# iptables-save
# Generated by iptables-save v1.4.2 on Tue Apr 16 02:56:58 2013
*raw
:PREROUTING ACCEPT [295:47827]
:OUTPUT ACCEPT [288:49893]
COMMIT
# Completed on Tue Apr 16 02:56:58 2013
# Generated by iptables-save v1.4.2 on Tue Apr 16 02:56:58 2013
*nat
:PREROUTING ACCEPT [23:3680]
:POSTROUTING ACCEPT [22:3691]
:OUTPUT ACCEPT [22:3691]
COMMIT
# Completed on Tue Apr 16 02:56:58 2013
# Generated by iptables-save v1.4.2 on Tue Apr 16 02:56:58 2013
*mangle
:PREROUTING ACCEPT [295:47827]
:INPUT ACCEPT [295:47827]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [288:49893]
:POSTROUTING ACCEPT [292:50623]
COMMIT
# Completed on Tue Apr 16 02:56:58 2013
# Generated by iptables-save v1.4.2 on Tue Apr 16 02:56:58 2013
*filter
:INPUT ACCEPT [295:47827]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [288:49893]
COMMIT
# Completed on Tue Apr 16 02:56:58 2013

Клиент 3:
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:27:6c:a1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.148/24 brd 192.168.111.255 scope global eth1
    inet6 fe80::250:56ff:fe27:6ca1/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/[65534]
    inet 10.8.2.6 peer 10.8.2.5/32 scope global tun0

[root@localhost ~]# ip r
10.8.2.5 dev tun0  proto kernel  scope link  src 10.8.2.6
10.8.2.0/24 via 10.8.2.5 dev tun0
192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.148
169.254.0.0/16 dev eth1  scope link
default via 192.168.111.2 dev eth1

[root@localhost ~]# iptables-save
iptables-save v1.4.2: Unable to open /proc/net/ip_tables_names: No such file or directory

Клиент 4:

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:50:56:38:0e:b6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.149/24 brd 192.168.111.255 scope global eth1
    inet6 fe80::250:56ff:fe38:eb6/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/[65534]
    inet 10.8.2.10 peer 10.8.2.9/32 scope global tun0

[root@localhost ~]# ip r
10.8.2.9 dev tun0  proto kernel  scope link  src 10.8.2.10
10.8.2.0/24 via 10.8.2.9 dev tun0
192.168.111.0/24 dev eth1  proto kernel  scope link  src 192.168.111.149
169.254.0.0/16 dev eth1  scope link
default via 192.168.111.2 dev eth1


[root@localhost ~]# iptables-save
iptables-save v1.4.2: Unable to open /proc/net/ip_tables_names: No such file or directory


Пинг.
пинг проверял ТОЛЬКО по адресам 10.8.*.* т.е. по виртуальным vpn адресам (т.к. на 192.*** они и так в локалке)

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

Еще ЛЮБОЙ клиент или сервак пингует СЕРВАК Другого офиса.

НО, например  клиенты (vpn ip 10.8.0.6 и 10.8.0.10)  из офиса 1  НЕ пингуют клиентов (vpn ip 10.8.2.6 и 10.8.2.10)  офиса 2
и соотв. клиентыиз офиса 2  НЕ пингуют клиентов офиса 1.
Мне как раз это сейчас и нужно наладить.
т.е. клиент с vpn ip 10.8.0.6 пинговал клиента 10.8.2.6 или 10.8.2.10 и наоборот.

1) Что нужно прописать или сделать чтобы клиенты пинговали клиентов из др. офиса?
2) будет ли они вообще нормально друг друга пинговать?
3) надо ли тут использовать openvpn --genkey --secret ?
4) ключи и сертификаты генерировал на каждом сервере отдельно, т.е. файлы с первого сервака: ca.crt  server1.crt  server1.key  dh1024.pem  и на втором серваке: ca.crt  server2.crt  server2.key  dh1024.pem   (и соответственно файлы ключей и серт. для клиентов) РАЗНЫЕ. Будет ли они вообще вместе работать? и надо ли было на одном ключе все генерировать?
5) Что нужно еще сделать чтобы клиенты одного сервака пинговали клиенты другого?
С уважением и заранее благодарю за ответы.

 

Страница сгенерирована за 0.039 секунд. Запросов: 26.