LinuxForum.Fans
Тема

OpenVPN Туннель офис <-> Цех

Автор: andresyto 34 сообщений 5330 просмотров
#273938

Айлоха всем!
подскажите плиз какой надо добавить маршрут на сервер. VPN настраивал по этому манну http://forum.ubuntu.ru/index.php?topic=75483.0
единственное скажу не смог добавить вот это правило sudo

Показать
sudo iptables -A INPUT -p udp -dport 3334 -j ACCEPT
выдает сообщение чтобы покурил справку по нему.
сейчас ситуация следующая
1 VPN туннель поднят
2 с любого Пк офисе и сервера я ping-ю и захожу на ПК цеха
3 с Сервера цеха я не проходит ping до сервера офиса и больше ни чего
4 с локальной тачки цеха ping-ю только 192,168,254,2 все и дальше больше не чего

Подскажите какое правило добавить

PS нашел в чем ошибка в правиле
исходное
Показать
sudo iptables -A INPUT -p udp -dport 3334 -j ACCEPT

правильное

Показать
sudo iptables -A INPUT -p udp --dport 3334 -j ACCEPT

но все также не вижу с цеха офис

#273957

что не кто не подскажет ?

#273986

Данная тема уже подымалась.

Соединение офисов с помощью OpenVPN

Сам столкнулся со схожей проблемой. Долго с ней не возился, поставил две Железяки (Dlink).
Выложите конфиги, правила Iptables, и таблицы маршрутизации можкт быть что и всплывет.

#274095

Server ofess Debian 6
Wan ip 95.xxx.xx.xx
Lan ip 192.168.0.1
IredMail
squid + squidGuard
маршрутизацию и раздачу инета настроил по данному скрипту

Показать

Там добавил правило чтобы пакеты заворачивались на squid вот оно

Показать
$IPT -t nat -A PREROUTING -i $LAN ! -d $LAN_IP_RANGE -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128

так же открыл порт для vpn туннеля вот оно

Показать
$IPT -A INPUT -i $WAN -p udp --dport 33333 -j ACCEPT

route -n

Показать
192.168.254.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.xxx.xx.xx 0.0.0.0 255.255.255.252 U 0 0 0 eth0
192.168.2.0 192.168.254.2 255.255.255.0 UG 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 95.xxx.xx.xx 0.0.0.0 UG 0 0 0 eth0

iptables -L

Показать
Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere multiport ports 49152:65535
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:www
ACCEPT udp -- anywhere anywhere udp dpt:www
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT udp -- anywhere anywhere udp dpt:pop3
ACCEPT tcp -- anywhere anywhere tcp dpt:33333
ACCEPT udp -- anywhere anywhere udp dpt:33333

Chain FORWARD (policy DROP)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW

Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

iptables -L -v -n

Показать
Chain INPUT (policy DROP 959 packets, 29108 bytes)
pkts bytes target prot opt in out source destination
36213 2505K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
326K 1248M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
1637K 613M ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
1735K 2130M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1350 55356 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
19 1579 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
61 3424 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
8603 437K ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 multiport ports 49152:65535
2703 130K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
29 1460 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
33 1563 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:80
98 5608 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:110
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:33333
33 1734 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:33333

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
87934 4557K TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
755K 173M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
2420 97440 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 REJECT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
326K 1248M ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
2140K 2191M ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
1616K 451M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW

Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
36138 2499K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

iptables -L -v -n -t nat

Показать
Chain PREROUTING (policy ACCEPT 188K packets, 34M bytes)
pkts bytes target prot opt in out source destination
39706 2064K DNAT tcp -- eth1 * 0.0.0.0/0 !192.168.0.0/24 multiport dports 80,8080 to:192.168.0.1:3128

Chain POSTROUTING (policy ACCEPT 69915 packets, 4741K bytes)
pkts bytes target prot opt in out source destination
56654 3498K MASQUERADE all -- * eth0 192.168.0.0/24 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 69793 packets, 4734K bytes)
pkts bytes target prot opt in out source destination

конфиг vpn

Показать
dev tun
tls-server
proto udp
port 33333
comp-lzo
persist-tun
persist-key

# наши шлюзы будут общаться через виртуальные интерфейсы (на картинке между ними труба нарисована :) Здесь мы задаём их адреса
ifconfig 192.168.254.1 192.168.254.2
# маршрут к локальной сети удалённого офиса
route 192.168.2.0 255.255.255.0

dh /etc/openvpn/keys/dh1024.pem #Ключи безопасности. Переместите их из папки в которой создали в папку которую здесь укажете.
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
log /var/log/openvpn.log #ведём логи 3 уровня
verb 3
mute 20
# Еще один полезный параметр:
status /var/log/openvpn-status.log

Server Цех Debian 6
Wan ip 10.113.153.50
Lan ip 192.168.2.1
squid + squidGuard
маршрутизацию и раздачу инета настроил по данному скрипту

Показать

дам добавил правило чтобы пакеты заворачивались на squid вот оно

Показать
$IPT -t nat -A PREROUTING -i $LAN ! -d $LAN_IP_RANGE -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.2.1:3128

также открыл порт для vpn туннеля вот оно

Показать
$IPT -A INPUT -i $WAN -p udp --dport 33333 -j ACCEPT

route -n

Показать
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.254.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.113.153.48 0.0.0.0 255.255.255.240 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 192.168.254.1 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 10.113.153.49 0.0.0.0 UG 0 0 0 eth0

iptables -L

Показать
Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-apache tcp -- anywhere anywhere multiport dports www,https
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
fail2ban-ssh-ddos tcp -- anywhere anywhere multiport dports ssh
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT tcp -- anywhere anywhere tcp dpt:www
ACCEPT udp -- anywhere anywhere udp dpt:www
ACCEPT tcp -- anywhere anywhere tcp dpt:33333
ACCEPT udp -- anywhere anywhere udp dpt:33333
ACCEPT all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW

Chain fail2ban-apache (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Chain fail2ban-ssh-ddos (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

iptables -L -v -n

Показать
iptables -L -v -n
Chain INPUT (policy DROP 4720 packets, 206K bytes)
pkts bytes target prot opt in out source destination
56 12298 fail2ban-apache tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 80,443
1153 90840 fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
1153 90840 fail2ban-ssh-ddos tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 22
118 18618 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
41351 2460K ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
7589 975K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
9 612 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
1 76 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:80
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:33333
82 11325 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:33333
6 404 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
170 8640 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
337 55415 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 REJECT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * tun0 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
118 18618 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
26850 1712K ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
8766 1479K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW

Chain fail2ban-apache (1 references)
pkts bytes target prot opt in out source destination
56 12298 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
1153 90840 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

Chain fail2ban-ssh-ddos (1 references)
pkts bytes target prot opt in out source destination
1153 90840 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

iptables -L -v -n -t nat

Показать
iptables -L -v -n -t nat
Chain PREROUTING (policy ACCEPT 325K packets, 422M bytes)
pkts bytes target prot opt in out source destination
1616 84008 DNAT tcp -- eth1 * 0.0.0.0/0 !192.168.2.0/24 multiport dports 80,8080 to:192.168.2.1:3128

Chain POSTROUTING (policy ACCEPT 3298 packets, 273K bytes)
pkts bytes target prot opt in out source destination
6 312 MASQUERADE all -- * eth0 192.168.2.0/24 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 3233 packets, 270K bytes)
pkts bytes target prot opt in out source destination

конфиг VPN

Показать
dev tun.
<------>tls-client
<------>proto udp
<------>remote 95.XXX.XX.XX #внешний адрес шлюза в центральном офисе
<------>port 33333
<------>comp-lzo
<------>persist-tun
<------>persist-key
........
<------># прописываем виртуальные интерфейсы в обратном порядке
<------>ifconfig 192.168.254.2 192.168.254.1
<------># а здесь маршрут к локальной сети центрального офиса
<------>route 192.168.0.0 255.255.255.0

<------>dh /etc/openvpn/keys/dh1024.pem #Этот ключ одинаков с серверным
<------>ca /etc/openvpn/keys/ca.crt #Этот тоже
<------>cert /etc/openvpn/keys/orton.crt #Эти ключи для клиента берём на сервере. У меня был установлен ftp поэтому труда не составило.
<------>key /etc/openvpn/keys/orton.key #Этот тоже.

<------>log /var/log/openvpn.log #и вновь ведём логи 3 уровня
<------>verb 3
<------>mute 20
<------># Еще один полезный параметр:
<------>status /var/log/openvpn-status.log
#274245

На стороне openVPN сервера в папке ccd есть файлики c именами ваших клиентов содержимой файлов примерно такое:
push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

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

#274284

На складе есть правило
404 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
которое позволяет пинговать подсеть склада из офиса.
В офисе такого правила нет...

С виртуальными интерфейсами iptables работает также, как и с физическими.

Кроме того надо решить, какой транспорт использует VPN- tcp или udp
ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:33333
82 11325 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:33333

Следущее- на складе порт открывать не нужно
$IPT -A INPUT -i $WAN -p udp --dport 33333 -j ACCEPT
поскольку склад коннектится к офису, а не наоборот.

Смущает правило в цепочке FORWARD
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED

типа летите пакетики откуда угодно и куда угодно.

Правила IPTABLES нужно выполнять от рута. SUDO не нужно.

#274339

На складе есть правило
404 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
которое позволяет пинговать подсеть склада из офиса.
В офисе такого правила нет...

ага увидел. что нужно добавить ?

text
С виртуальными интерфейсами iptables работает также, как и с физическими.

Кроме того надо решить, какой транспорт использует VPN- tcp или udp ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:33333 82 11325 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:33333

это исправил. оставил только протокол udp

Следущее- на складе порт открывать не нужно
$IPT -A INPUT -i $WAN -p udp --dport 33333 -j ACCEPT
поскольку склад коннектится к офису, а не наоборот.

тоже исправил.

Смущает правило в цепочке FORWARD
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED

типа летите пакетики откуда угодно и куда угодно.

Правила IPTABLES нужно выполнять от рута. SUDO не нужно.

#274345

Млин, уже не один год юзаю OpenVpn и еще раз повторяю:

Если тунель поднят и сервер с клиентом видят друг друга, но сети которые стоят за ними не видят друг друга, то здесь дело исключительно в маршрутизации!!!

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

2. На клиенте и на сервере необходимо прописать свои правила маршрутизации, сколько у вас сетей столько и правил. Причем есть ньюанс! если клиент отсоединяется от сервера, то правило автоматически без вашего участия убирается из таблицы маршрутизации, т.к. отсутствует интерфейс на которое это правило завязано. Сл-но когда интерфейс tun снова подымается нужно это правило заново добавить!! Вот именно за это и отвечают те файлы о которых я писал выше, повторяться не буду

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

Вот и все премудрости, хотя может я чего не догоняю?

#274477
andresyto написал:


ага увидел. что нужно добавить ?

iptables -A INPUT -p all -i tun0 -j ACCEPT

#274510

Спасибо Ограненное за помощь!
Ситуация изменилась сейчас шеф просит чтобы кроме цеха можно подключить еще несколько пользователей.
Учитывая Рекомендации и Наставления на путь истинный на гуглил другой конфиг для VPN туннеля.
переделал по этой инструкции

Показать

Данные центральный офис

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

Показать

# указываем на каком локальном интерфейсе OpenVPN будет слушать
# по умолчанию OpenVPN слушает все интерфейсы
#local xxx.xxx.xx.x

# порт на котором работает сервер
port 33333

# протокол - TCP или UDP
proto udp

# используемый тип устройства и номер
dev tun0

# указываем по каким интерфейсам можно подключаться к OpenVPN по telnet
# указывать нужно IP адреса интерфейсов сервера
management localhost 8329
#management 192.168.0.1 8329
#management 95.XXX.XX.XX 8329

# указываем файл CA
ca /etc/openvpn/keys/ca.crt

# указываем файл с сертификатом сервера
cert /etc/openvpn/keys/server.crt

# указываем файл с ключем сервера
key /etc/openvpn/keys/server.key

# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /etc/openvpn/keys/dh2048.pem

# указываем где находится файл отозванных сертификатов
#crl-verify /usr/local/etc/openvpn/crl.pem

# задаем IP-адрес сервера и маску подсети (виртуальной сети)
server 10.10.100.0 255.255.255.0

# указываем внутренний DNS и WINS серверы
push "dhcp-option DNS 192.168.0.1"
#push "dhcp-option DNS 192.168.0.10"
#push "dhcp-option WINS 192.168.0.1"

# задаем МАРШРУТ который передаём клиенту
# и маску подсети для того чтобы он "видел"
# сеть за OpenVPN сервером
# Офис
push "route 192.168.0.0 255.255.255.0"
# Филиал №1
push "route 192.168.1.0 255.255.255.0"
# Филиал №2
push "route 192.168.2.0 255.255.255.0"
# Филиал №3
push "route 192.168.3.0 255.255.255.0"

# указываем где хранятся файлы с
# настройками IP-адресов клиентов
client-config-dir ccd

# добавляем маршрут сервер-клиент
route 10.10.100.0 255.255.255.252
# Филиал №1
route 192.168.1.0 255.255.255.0
# Филиал №2
route 192.168.2.0 255.255.255.0
# Филиал №3
route 192.168.3.0 255.255.255.0

# делает сервер OpenVPN основным шлюзом у клиентов
push "redirect-gateway"

# разрешает видеть клиентам друг друга (по виртуальным IP)
# по умолчанию клиенты видят только сервер
client-to-client

# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn

# включаем TLS аутентификацию
tls-server

# для дополнительной безопасности при
# использовании SSL/TLS, создайте "HMAC firewall"
# для защиты от DoS аттак и флуда UDP порта.
#
# сгенерируйте с помощью:
# openvpn --genkey --secret ta.key
#
# сервер и каждый клиент должны иметь копию этого ключа.
# второй параметр выставляется в '0' для сервера и '1' для клиентов.
tls-auth /etc/openvpn/keys/ta.key 0

# TLS таймаут, полезен если выход в интернет осуществляется
# через GPRS мобильных операторов
tls-timeout 120

# выбираем алгоритм хеширования по умолчанию используется SHA1
# вывод полного списка командой openvpn --show-digests
auth SHA1

# выберите криптографический сертификат.
# этот пункт конфига должен копироваться
# в конфиг клиента, так же как он установлен здесь.
# по умолчан..ю используется/рекомендуется BF-CBC
# вывод полного списка командой openvpn --show-ciphers
#cipher BF-CBC # Blowfish (default)
#cipher AES-128-CBC # AES
#cipher DES-EDE3-CBC # Triple-DES
cipher BF-CBC

# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120

# сжатия трафика VPN туннеля с помощью библиотеки LZO
# если вы включили сжатие на сервере,
# вы так же должны включить и в конфиге у клиента
comp-lzo

# максимальное количество одновременно подключенных клиентов
max-clients 10

# от какого пользователя и группы будет работать OpenVPN
#user nogroup
#group nogroup

# имеет смысл использовать при использовании протокола udp
mssfix 1450

# эти опции позволяют избежать необходимости
# получения доступа к определенным ресурсам
# после рестарта, т.к. это может быть невозможным
# из-за понижения привилегий.
persist-key
persist-tun

# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn-status.log

# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn.log

# установите необходимый уровень логирования.
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 3

# макс кол-во однотипных записей в лог
mute 20

route -n

Показать

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.100.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.10.100.0 10.10.100.2 255.255.255.252 UG 0 0 0 tun0
95.xxx.xx.xx 0.0.0.0 255.255.255.252 U 0 0 0 eth0
10.10.100.0 10.10.100.2 255.255.255.0 UG 0 0 0 tun0
192.168.3.0 10.10.100.2 255.255.255.0 UG 0 0 0 tun0
192.168.2.0 10.10.100.2 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 10.10.100.2 255.255.255.0 UG 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 95.xxx.xx.xx 0.0.0.0 UG 0 0 0 eth0

iptables -L

Показать

Chain INPUT (policy DROP)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere multiport ports 49152:65535
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:www
ACCEPT udp -- anywhere anywhere udp dpt:www
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp
ACCEPT udp -- anywhere anywhere udp dpt:pop3
ACCEPT udp -- anywhere anywhere udp dpt:33333
ACCEPT all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW

Chain fail2ban-ssh (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

iptables -L -v -n

Показать

Chain INPUT (policy DROP 230 packets, 6822 bytes)
pkts bytes target prot opt in out source destination
18000 1346K fail2ban-ssh tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
150K 492M ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
762K 213M ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
938K 1010M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
156 9200 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
32 1752 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
180 10360 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 multiport ports 49152:65535
1189 57076 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
20 1152 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
11 521 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:80
57 3136 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:110
1926 120K ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:33333
14 1068 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
70442 3657K TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
543K 92M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
196 8160 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 REJECT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * tun0 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
150K 492M ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
1086K 1010M ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
867K 229M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW

Chain fail2ban-ssh (1 references)
pkts bytes target prot opt in out source destination
17924 1341K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

iptables -L -v -n -t nat

Показать
Chain PREROUTING (policy ACCEPT 34545 packets, 5424K bytes)
pkts bytes target prot opt in out source destination
12939 673K DNAT tcp -- eth1 * 0.0.0.0/0 !192.168.0.0/24 multiport dports 80,8080 to:192.168.0.1:3128

Chain POSTROUTING (policy ACCEPT 16132 packets, 1158K bytes)
pkts bytes target prot opt in out source destination
38981 2169K MASQUERADE all -- * eth0 192.168.0.0/24 0.0.0.0/0
6 1474 SNAT all -- * * 192.168.0.0/24 !192.168.0.0/16 to:10.10.100.1

Chain OUTPUT (policy ACCEPT 5939 packets, 447K bytes)
pkts bytes target prot opt in out source destination

Данные с Сервера Цех

конфиг клиента

Показать

dev tun
proto udp
# IP сервера (основной канал)
remote 95.xxx.xx.xx
# IP сервера (резервный канал)
#remote xx.xx.xx.x
port 33333
client
resolv-retry infinite
pkcs12 /etc/openvpn/keys/filial1.p12
tls-client
tls-auth /etc/openvpn/keys/ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3

route -n

Показать
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
95.xxx.xx.xx 10.113.153.49 255.255.255.255 UGH 0 0 0 eth0
10.10.100.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.113.153.48 0.0.0.0 255.255.255.240 U 0 0 0 eth0
10.10.100.0 10.10.100.1 255.255.255.0 UG 0 0 0 tun0
192.168.3.0 10.10.100.1 255.255.255.0 UG 0 0 0 tun0
192.168.2.0 10.10.100.1 255.255.255.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 10.10.100.1 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 10.10.100.1 0.0.0.0 UG 0 0 0 tun0

iptables -L

Показать
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT tcp -- anywhere anywhere tcp dpt:www
ACCEPT udp -- anywhere anywhere udp dpt:www
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain FORWARD (policy DROP)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP all -- anywhere anywhere state INVALID
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN state NEW

iptables -L -v -n

Показать
Chain INPUT (policy DROP 121 packets, 5219 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
2850 195K ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
891 92979 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000
0 0 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:80
4 286 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
18 912 TCPMSS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x06/0x02 TCPMSS clamp to PMTU
57 4000 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
0 0 REJECT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * tun0 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
887 77403 ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
6506 829K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW,RELATED,ESTABLISHED
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW

iptables -L -v -n -t nat

Показать
Chain PREROUTING (policy ACCEPT 2066 packets, 1921K bytes)
pkts bytes target prot opt in out source destination
10 516 DNAT tcp -- eth1 * 0.0.0.0/0 !192.168.1.0/24 multiport dports 80,8080 to:192.168.1.1:3128

Chain POSTROUTING (policy ACCEPT 630 packets, 45984 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * eth0 192.168.1.0/24 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 613 packets, 44908 bytes)
pkts bytes target prot opt in out source destination

Данные с ПК клиента цеха
ipconfig /all

Показать
Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : ADM
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Нет
WINS-прокси включен . . . . . . . : Нет

Ethernet adapter Подключение по локальной сети:

DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : NVIDIA nForce 10/100 Mbps Ethernet
Физический адрес. . . . . . . . . : 44-87-FC-86-7C-5F
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
IPv4-адрес. . . . . . . . . . . . : 192.168.1.18(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 11 сентября 2012 г. 8:59:14
Срок аренды истекает. . . . . . . . . . : 11 сентября 2012 г. 17:59:13
Основной шлюз. . . . . . . . . : 192.168.1.1
DHCP-сервер. . . . . . . . . . . : 192.168.1.1
DNS-серверы. . . . . . . . . . . : 192.168.1.1
NetBios через TCP/IP. . . . . . . . : Включен

Туннельный адаптер isatap.{5590C2A5-1640-4291-9492-3DDE67193709}:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Адаптер Microsoft ISATAP
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да

Туннельный адаптер Подключение по локальной сети* 3:

Состояние среды. . . . . . . . : Среда передачи недоступна.
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да

route print

Показать
===========================================================================
Список интерфейсов
11...44 87 fc 86 7c 5f ......NVIDIA nForce 10/100 Mbps Ethernet
1...........................Software Loopback Interface 1
12...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.18 20
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
192.168.1.18 255.255.255.255 On-link 192.168.1.18 276
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 192.168.1.18 276
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 192.168.1.18 276
===========================================================================
Постоянные маршруты:
Отсутствует

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
Метрика Сетевой адрес Шлюз
1 306 ::1/128 On-link
1 306 ff00::/8 On-link
===========================================================================
Постоянные маршруты:
Отсутствует

ping 192.168.0.1 # сервер центрального офиса

Показать
Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Ответ от 192.168.0.1: число байт=32 время=1мс TTL=63
Ответ от 192.168.0.1: число байт=32 время=1мс TTL=63
Ответ от 192.168.0.1: число байт=32 время=1мс TTL=63
Ответ от 192.168.0.1: число байт=32 время=1мс TTL=63

Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 1мсек, Максимальное = 1 мсек, Среднее = 1 мсек

C:\Users\Admin>tracert 192.168.0.1

Трассировка маршрута к 192.168.0.1 с максимальным числом прыжков 30

1 <1 мс <1 мс <1 мс 192.168.1.1
2 1 ms 1 ms 1 ms 192.168.0.1

Трассировка завершена.

ping 192.168.0.2 # ip адрес Пк в центральном офесе

Показать
Обмен пакетами с 192.168.0.2 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.2:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)
tracert 192.168.0.2

Трассировка маршрута к 192.168.0.2 с максимальным числом прыжков 30

1 <1 мс <1 мс <1 мс 192.168.1.1
2 1 ms 1 ms 1 ms 10.10.100.1
3 * * * Превышен интервал ожидания для запроса.
4 * * * Превышен интервал ожидания для запроса.
5 * * * Превышен интервал ожидания для запроса.
6 * * * Превышен интервал ожидания для запроса.
7 * ^C

как я понимаю на клиентских виндовых тачках надо добавить постоянный маршрут к сети офиса
из за разницы во времени буду пока гулить инет как самому добавить правило маршрутизации

#274513

Забыл указать клиентские /etc/openvpn/ccd
filial1
ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0

#274536
andresyto написал:
Забыл указать клиентские /etc/openvpn/ccd
filial1
ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0

Проблема в том, что в конфиге сервера вы указываете:

andresyto написал:

# Офис
push "route 192.168.0.0 255.255.255.0"
# Филиал №1
push "route 192.168.1.0 255.255.255.0"
# Филиал №2
push "route 192.168.2.0 255.255.255.0"
# Филиал №3
push "route 192.168.3.0 255.255.255.0"

но эти правила срабатывают 1 раз когда сервер идеализируется и совсем не факт, что в этот момент все ваши клиенты подсоеденены к нему!!! Сл-но эти команды правил маршрутизации на клиентах выполнены не будут!!!
Правильный подход (именно у меня так сделано) добавить эти команды для каждого клиента в свой отдельный файлик в папку /etc/openvpn/ccd
(в моем самом первом посте реальный пример одного из таких файлов)

ИМХО: и еще:

andresyto написал:
# Филиал №3
push "route 192.168.3.0 255.255.255.0"

т.е. этим правилом вы говорите клиенту, чтобы в момент соединения с сервером он выполнил у себя на хосте команду: "route 192.168.3.0 255.255.255.0 dev tun" , другими словами все пакеты которые адресованы и пришли к нему, пусть обратно отправляет их в tun????? Проще всего написать типа push "route 192.168.0.0 255.255.0.0" , а т.к. на клиенте маршрут: 192.168.3.0 255.255.255.0 dev eth0 установится автоматически при поднятия его собственного сетевого интерфейса, и т.к. маска этого маршрута точнее(255.255.255.0), нежели маршрута который передает ему VPN (255.255.0.0), поэтому этот маршрут и будет срабатывать для сети этого клиента!!!

#274552
vladlen_msk написал:
На стороне openVPN сервера в папке ccd есть файлики c именами ваших клиентов содержимой файлов примерно такое:
push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

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

попробовал я подставил как ты указал тут
все равно не работает
пробовал в следующих комбинациях
Вариант №1

Показать

#ifconfig-push 10.10.100.2 10.10.100.1
#iroute 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

не помогло

Вариант №2

Показать

ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

Тоже не помогло
Вариант №3

Показать

ifconfig-push 10.10.100.2 10.10.100.1
#iroute 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

аналогично
Вариант №4

Показать

ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0
#push "route 192.168.1.0 255.255.255.0"
iroute 192.168.0.0 255.255.255.0

тоже самое
Вариант №3

Показать

ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
#iroute 192.168.0.0 255.255.255.0
#274553

Файлы как называются?, имя должно строго соответствовать имени клиента: для цеха это будет: "client"

и для цеха содержимое файла на сервере VPN: /etc/openvpn/ccd/client:

push "route 192.168.0.0 255.255.0.0"
iroute 192.168.1.0 255.255.255.0

где-то примерно так, если в цехе локалка: 192.168.1.0 255.255.255.0

P.S. и не забывайте делать /etc/init.d/openvpn restart на сервере после каждого обновления конфигов

#274555
vladlen_msk написал:
Файлы как называются?, имя должно строго соответствовать имени клиента: для цеха это будет: "client"

и для цеха содержимое файла на сервере VPN: /etc/openvpn/ccd/client:

push "route 192.168.0.0 255.255.0.0"
iroute 192.168.1.0 255.255.255.0

где-то примерно так, если в цехе локалка: 192.168.1.0 255.255.255.0

совпадают

делал тоже

/etc/openvpn/ccd# ls
filial1 filial2 filial3 sysadmin


keys# ls
01.pem 04.pem ca.crt filial1.crt filial1.p12 filial2.key filial3.csr index.txt index.txt.old server.crt sysadmin.crt sysadmin.p12
02.pem 05.pem ca.key filial1.csr filial2.crt filial2.p12 filial3.key index.txt.attr serial server.csr sysadmin.csr ta.key
03.pem 06.pem dh2048.pem filial1.key filial2.csr filial3.crt filial3.p12 index.txt.attr.old serial.old server.key sysadmin.key

#274556

Странно, премудростей то здесь практически нет, у меня 4 сети объединены посредством OpenVpn и все уже не первый год как часики работает. вот мои рабочие конфиги сервер:

text

# Использовать tun-интерфейсы вместо tap
dev tun
# Используемый транспортный протокол
proto udp

# Порт клиента и сервера port 3784

# Локальный IP и IP дальней стороны туннеля #ifconfig 192.168.111.1 192.168.111.2

tls-server

server 10.10.0.0 255.255.255.0 # Сжимаем пакеты с помощью lzo, используя адаптирующийся алгоритм. comp-lzo

client-to-client client-config-dir /etc/openvpn/ccd ifconfig-pool-persist /etc/openvpn/ccd/ipp.txt

dh /etc/openvpn/dh1024.pem ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key

persist-tun persist-key

tun-mtu 1500 tun-mtu-extra 32 mssfix 1450

# проверяем работу туннеля каждые 10 секунд и перезапускаем в случае обрыва через 120 keepalive 10 120 # Не проверять таймауты, если клиент не подключен ping-timer-rem # не выключаем интерфейс при перезапуске соединения persist-tun # Очень полезная опция - не перечитывать ключ при рестарте соединения. # Дело в том что OpenVPN может снижать привелегии (см ниже) при запуске после # чтения конфигурационного файла и ключа в целях безопасности. persist-key

# Пользователь, под которым работает демон после запуска user nobody group nobody # Собственно, становиться ли демоном daemon

# добавляется в маршрутизацию текущего сервера (ОБЯЗАТЕЛЬНО!!) route 192.168.0.0 255.255.0.0

# Куда пишем журнал. log-append /var/log/openvpn/openvpn.log status /var/log/openvpn/openvpn-status.log verb 4

и клиента:

text

dev tun

proto udp

remote my_domain 3784

route-delay 3

client

tls-client

ns-cert-type server

ca /etc/openvpn/ca.crt cert /etc/openvpn/client1.crt key /etc/openvpn/client1.key

comp-lzo

tun-mtu 1500 tun-mtu-extra 32 mssfix 1450

ping-restart 60 ping 10

status /home/vlad/openvpn-status.log status /home/vlad/openvpn.log

verb 3

Ну а файлы ccd я выкладывал выше.

и iptables до кучи:

text

# Разрешаем прохождение любого трафика по интерфейсу обратной петли.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT

# Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED. # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса. #-A INPUT -m state --state INVALID -j DROP #-A FORWARD -m state --state INVALID -j DROP

-A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT -A INPUT -i eth0 -p tcp --dport 5678 -j ACCEPT -A INPUT -i eth0 -p tcp --dport 5679 -j ACCEPT

-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT #-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT

# OpenVpn -A INPUT -i eth0 -p udp --dport 3784 -j ACCEPT #-A INPUT -i eth0 -p tcp --dport 1521 -j ACCEPT # ssh

-A INPUT -i eth0 -j DROP COMMIT

Причем 3 правило я сразу после перезагрузки сервера ручками отменяю: iptables -D INPUT 3
Это правило для подстраховки:
если с сервером проблема и OpenVpn не поднимается ( ни разу такого не было, но на всяк случай) я сервер через удаленную консоль просто перегружаю и получаю ssh на 22 порту, все остальное время SSH только через openVpn

#274560

может ты подкосившийся ко мне № и пас я тебе отправил

#274577

Привет всем проблема пока осталось

#274685

Гуру Подскажите как увидеть Windows машины по локалке из Цеха -> машины Windows центрального офиса ?

#274763

Пример настроек клиентов- которые в папке /etc/openvpn/ccd

# присваиваем ip-адрес клиенту
ifconfig-push 192.168.10.102 255.255.255.0

# роутинг на сети центрального офиса
push "route 192.168.1.0 255.255.255.0 192.168.10.1"
push "route 192.168.2.0 255.255.255.0 192.168.10.1"

Тут описываем подсети, которые должен получить клиент при подключении.
Как видим, мы сообщаем, что маршрут до сети такой то, с маской такой то, через шлюз такой то.
Шлюз в данном случае- ip интерфейса tun0 у сервера VPN.

Войдите или зарегистрируйтесь, чтобы ответить.