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


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

Автор Тема: OpenVPN. Подмена сервера для подключения в виртуальной сети  (Прочитано 970 раз)

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

Оффлайн cuper81

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Доброго времени!

Исторически сложилась следующая концепция:
Есть сервер OpenVPN, на нем организована DMZ, к нему подключаются 2 терминальных сервера, как клиенты. Туда же попадают и сами клиенты.
TUN10 192.168.10.1
сеть OVPN 192.168.10.0/24

Код: (html5) [Выделить]
port 1924
proto udp
dev tun10

mode server

ca /etc/openvpn/keys2/ca.crt
cert /etc/openvpn/keys2/server.crt
key /etc/openvpn/keys2/server.key
dh /etc/openvpn/keys2/dh2048.pem
tls-server
tls-auth /etc/openvpn/keys2/ta2.key 0
tls-timeout 120
auth SHA1
cipher BF-CBC
keepalive 10 120

server 192.168.10.0 255.255.255.0 # vpn subnet

push "route 192.168.10.0 255.255.255.0" # home subnet

client-to-client
client-config-dir /etc/openvpn/ccd
ccd-exclusive
ifconfig-pool-persist ipp.txt 0
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 4
mute 5
script-security 2
log /var/log/openvpn/openvpn10.log
log-append /var/log/openvpn/openvpn10.log1
status /etc/openvpn/stat10
#crl-verify /etc/openvpn/keys2/crl.pem

ts1 192.168.10.250/30
ts2 192.168.10.254/30

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

планируется убрать оба терминальных сервера, вместо них использовать 1 общий
tsNew 192.168.10.246/30


Вопрос. можно ли перенаправить запросы на подключение к ts1/ts2 на tsNew
просто iptables
Код: (html5) [Выделить]
iptables -t nat -I PREROUTING -p tcp -s 192.168.10.250 --dport 3389  -j DNAT --to-destination 192.168.10.246:3389не срабатывает




Пользователь добавил сообщение 13 Декабря 2016, 18:07:46:
просто на сколько я знаю несколько ip в сети клиенту назначить нельзя.
из ccd берется последняя запись, если попытаться туда подставить несколько значений ifconfig-push
« Последнее редактирование: 13 Декабря 2016, 18:07:46 от cuper81 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
для начала sudo iptables-save

P.S. но было проще просто на клиентах тупо сменить адрес сервера.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Если клиенты подключаются к серверу по имени, вообще не вижу проблемы.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
явно не этот случай... но ничто не мешает к этому прийти

Оффлайн cuper81

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
iptables-save
Код: (html5) [Выделить]
# Generated by iptables-save v1.6.0 on Wed Dec 14 10:19:48 2016
*mangle
:PREROUTING ACCEPT [1684:693911]
:INPUT ACCEPT [1680:693448]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1531:715337]
:POSTROUTING ACCEPT [1531:715337]
COMMIT
# Completed on Wed Dec 14 10:19:48 2016
# Generated by iptables-save v1.6.0 on Wed Dec 14 10:19:48 2016
*filter
:INPUT DROP [7:1448]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1440:666395]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 26389 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --dport 1924 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Wed Dec 14 10:19:48 2016
# Generated by iptables-save v1.6.0 on Wed Dec 14 10:19:48 2016
*nat
:PREROUTING ACCEPT [12:2253]
:INPUT ACCEPT [2:398]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Wed Dec 14 10:19:48 2016
Там правила пустые. просто кроме ovpn и ssh там ничего нет и 1 сетевой интерфейс. :)
собственно правило, которое не срабатывало (из 1го поста), я сбросил.


sudo  lsof -i -P -n
Код: (html5) [Выделить]
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd     733   root    3u  IPv4  14893      0t0  TCP *:26389 (LISTEN)
sshd     733   root    4u  IPv6  14902      0t0  TCP *:26389 (LISTEN)
sshd    1095   root    3u  IPv4  17132      0t0  TCP xx.xx.xx.xx:26389-> (ESTABLISHED)
sshd    1113  user1    3u  IPv4  17132      0t0  TCP xx.xx.xx.xx:26389-> (ESTABLISHED)
openvpn 1934 nobody    5u  IPv4  23773      0t0  UDP *:1924

=======================================

по поводу имен... рекомендуете на этом серваке dns поднять? а там не будет проблем в случае если у клиента в параметрах соединения 2  dns уже забито?
« Последнее редактирование: 14 Декабря 2016, 11:13:58 от cuper81 »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Так у Вас цепочка FORWARD дропнута и думаю net.ipv4.ip_forward тоже зерочен

Оффлайн cuper81

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Код: (html5) [Выделить]
iptables-save
# Generated by iptables-save v1.6.0 on Wed Dec 14 14:55:30 2016
*mangle
:PREROUTING ACCEPT [184:25865]
:INPUT ACCEPT [181:25713]
:FORWARD ACCEPT [3:152]
:OUTPUT ACCEPT [88:42611]
:POSTROUTING ACCEPT [91:42763]
COMMIT
# Completed on Wed Dec 14 14:55:30 2016
# Generated by iptables-save v1.6.0 on Wed Dec 14 14:55:30 2016
*filter
:INPUT DROP [4:448]
:FORWARD ACCEPT [3:152]
:OUTPUT ACCEPT [63:21074]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 26389 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --dport 1924 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Wed Dec 14 14:55:30 2016
# Generated by iptables-save v1.6.0 on Wed Dec 14 14:55:30 2016
*nat
:PREROUTING ACCEPT [7:405]
:INPUT ACCEPT [4:273]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [1:52]
-A PREROUTING -s 192.168.10.250/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.10.246:3389
COMMIT
# Completed on Wed Dec 14 14:55:30 2016

Код: (html5) [Выделить]
cat /proc/sys/net/ipv4/ip_forward
1
перевел в ACCEPT, net.ipv4.ip_forward тоже зелочен был. вообще переводил все в ACCEPT со сбросом всех цепочек - то же самое.
-A PREROUTING -s 192.168.10.250/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.10.246:3389
правило то вообще имеет право на жизнь?!


попутно вопрос...

запустил dnsmasq, сделал запись для 192.168.10.246 ts12
на сервере:
Код: (html5) [Выделить]
nslookup ts12
Server:         127.0.0.1
Address:        127.0.0.1#53

Name:   ts12.vpn
Address: 192.168.10.246

nslookup ts12 192.168.10.1
Server:         192.168.10.1
Address:        192.168.10.1#53

Name:   ts12.vpn
Address: 192.168.10.246


в OVPN
Код: (html5) [Выделить]
push "dhcp-option DNS 192.168.10.1"
во первых, на клиенте он становится дефолтным dns, во вторых не разрешает подключение: nslookup  - timeout
разрешения в правилах прописаны, но даже со сброшенными цепочками не передает данные.

Код: (html5) [Выделить]
nslookup ts12

DNS request timed out.
    timeout was 2 seconds.
Сервер:  UnKnown
Address:  192.168.10.1

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
***Превышено время ожидание

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
только наверное надо
Цитировать
-A PREROUTING -d 192.168.10.250/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.10.246:3389
правило то вообще имеет право на жизнь?!

правило-то имеет... но я кое-что упустил.
Учитывая, что сценой является сервер OVPN, правила игры, скорее всего, меняются.
Дело в том, что ядро виртуального коммутатора OVPN не связано с ядром материнской системы, а значит пакеты предназначенные 192.168.10.250 могут никогда не попасть в netfilter...
Но здесь я могу и ошибаться

Оффлайн cuper81

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Цитировать
Дело в том, что ядро виртуального коммутатора OVPN не связано с ядром материнской системы, а значит пакеты предназначенные 192.168.10.250 могут никогда не попасть в netfilter...
это скорее всего именно так. правило не идет.
а вообще интересно, можно ли как-то этим маршрутизатором управлять.  :)

пойду тут читать наверное :)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage


А с DNS не подскажете, случаем? из прошлого поста
Цитировать
запустил dnsmasq, сделал запись для 192.168.10.246 ts12


Пользователь добавил сообщение 15 Декабря 2016, 15:14:59:
маршрутизатором OVPN в нужных мне целях управлять, на сколько я понял нельзя :(

Перешел к варианту с DNS

В качестве DNS использовался dnsmasq. Ему нужно было просто внутри указать интерфейсы которые он должен обслуживать. .... :uglystupid2: "не читайте HowTo" :coolsmiley:


Код: (html5) [Выделить]
interface=lo
interface=tun10
bind-interfaces

# domain
domain=vpn,192.168.10.0/24

address=/ts12/192.168.10.246
address=/ts12.vpn/192.168.10.246
# оно так же понимает записи в /etc/hosts

# Логи для дебага
log-queries
log-facility=/var/log/dnsmasq.log


« Последнее редактирование: 15 Декабря 2016, 15:14:59 от cuper81 »

 

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