LINUX.ORG.RU
ФорумAdmin

Openvpn + mysql на одном сервере

 ,


0

1

Добрый день.

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

sammy@stock764-vps-1:~$ sudo ip route
sudo: unable to resolve host stock764-vps-1
default via 73.215.45.1 dev ens3 onlink
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
73.215.45.0/23 dev ens3  proto kernel  scope link  src 73.215.45.16 
sammy@stock764-vps-1:~$

делал по этой статье:

В частности вносил в иптаблес:

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0] 
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES
DEFAULT_FORWARD_POLICY="ACCEPT"



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

Однако я немогу подключиться к mysql, так же не загружается phpmyadmin.

И что за ошибку получаете? Чем подключаетесь? phpmyadmin где установлен? На той же машине, где mysql или по другую сторону туннеля? Как настроены права доступа в mysql? Там обычно указывают пользователя в виде username@hostname. Hostname как указан? Как IP-адрес, или как доменное имя?

В общем, нужно больше информации.

unable to resolve host stock764-vps-1

Ну и неплохо было бы с DNS разобраться или хотя бы прописать свое доменное имя в /etc/hosts.

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

Phpmyadmin установлен на том же сервере с mysql. В таблице с доступом пользователя я прописал разрешение на доступ с подсети моего оператора и с ip сервера. Подключаюсь командой mysql -h -u -p с консоли.доменных имён не использую. Доступ к апаче, пхпмуадмин и мускулы пропал после установки опенвпн(изменений в iptables) ошибки нет никакой просто процесс виснет.

andrey7690
() автор топика

Дополню

-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE

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

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

Подключаюсь командой mysql -h -u -p с консоли.
Phpmyadmin установлен на том же сервере с mysql.

В этих ситуациях доступ идет с localhost.

я прописал разрешение на доступ с подсети моего оператора и с ip сервера.

Localhost (127.0.0.1) в эти разрешения включен?

Если просто выключить iptables (

iptable -P INPUT ACCEPT
iptable -P OUTPUT ACCEPT 
iptable -P FORWARD ACCEPT
iptables -F
iptables -X
) получится подключиться?

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

Уточнения. Вы подключаетесь к внешнему ip сервера, со своей локальной машинки, как к phpmyadmin, так же и mysql (консольный) вы запускаете на локальной машинке ? И с отключенным клиентом ovpn все работает?

anc ★★★★★
()
Ответ на: комментарий от Serge10
SELECT user,host FROM mysql.user;

| sammy_stock | 168.150.%.%  |
| sammy_stock | 73.215.45.%  |
| sammy_stock | 73.215.45.16 |
| sammy_stock | localhost   
andrey7690
() автор топика
Ответ на: комментарий от anc
0. От включения/выключения ovpn результат не меняется. 
1. подключаюсь с локальной машины через консоль к mysql; - зависает. 
2. авторизуюст по ssh на сервер подключаюсь локально; - работает.
3. index.php, ip-adress-server/phpmyadmin; - не удается установить соединение.
andrey7690
() автор топика
Ответ на: комментарий от anc
# Generated by iptables-save v1.6.0 on Sat Nov  3 20:37:54 2018
*nat
:PREROUTING ACCEPT [7345:734371]
:INPUT ACCEPT [1:84]
:OUTPUT ACCEPT [2:124]
:POSTROUTING ACCEPT [2:124]
-A POSTROUTING -s 10.0.0.0/8 -o ens3 -j MASQUERADE
-A POSTROUTING -s 10.0.0.0/8 -o ens3 -j MASQUERADE
-A POSTROUTING -s 10.0.0.0/8 -o ens3 -j MASQUERADE
-A POSTROUTING -s 10.0.0.0/8 -o ens3 -j MASQUERADE
COMMIT
# Completed on Sat Nov  3 20:37:54 2018
# Generated by iptables-save v1.6.0 on Sat Nov  3 20:37:54 2018
*filter
:INPUT DROP [14:704]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ufw-after-forward - [0:0]
:ufw-after-input - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-before-input - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-output - [0:0]
:ufw-logging-allow - [0:0]
:ufw-logging-deny - [0:0]
:ufw-not-local - [0:0]
:ufw-reject-forward - [0:0]
:ufw-reject-input - [0:0]
:ufw-reject-output - [0:0]
:ufw-skip-to-policy-forward - [0:0]
:ufw-skip-to-policy-input - [0:0]
:ufw-skip-to-policy-output - [0:0]
:ufw-track-forward - [0:0]
:ufw-track-input - [0:0]
:ufw-track-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-user-input - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-output - [0:0]
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A FORWARD -j ufw-track-forward
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-forward -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT
-A ufw-before-input -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m conntrack --ctstate INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-skip-to-policy-forward -j ACCEPT
-A ufw-skip-to-policy-input -j DROP
-A ufw-skip-to-policy-output -j ACCEPT
-A ufw-track-forward -p tcp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-forward -p udp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-output -p tcp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-track-output -p udp -m conntrack --ctstate NEW -j ACCEPT
-A ufw-user-input -p tcp -m tcp --dport 1194 -j ACCEPT
-A ufw-user-input -p tcp -m tcp --dport 22 -m comment --comment "\'dapp_OpenSSH\'" -j ACCEPT
-A ufw-user-input -p udp -m udp --dport 1194 -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT
COMMIT
# Completed on Sat Nov  3 20:37:54 2018
andrey7690
() автор топика
Ответ на: комментарий от andrey7690

Например сделать так, но только на порт mysql, http и https/

-A ufw-user-input -p tcp -m tcp --dport 1194 -j ACCEPT
andrey7690
() автор топика
Ответ на: комментарий от andrey7690

Писец простыня, всегда говорил все эти автоматизации от лукавого. Но насколько осилил в этой простыне нет доступа INPUT для муськи, апача &etc, только 22/tcp и 1194/udp.

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

И еще как замечание. Существует примета, выпускать муську голой попой в инет, к проблемам. Если вам это сильно необходимо для себя любимого, и есть статик ip, то ограничьте только им. Но поскольку вы настраиваете ovpn то лучше вообще заблокировать, а вот остальной софт включая муську, запустить на внутреннем адресе, 10... и соответственно разрешения в муське также.

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

Еще раз. Прочитайте написанное мной выше, без необходимости не выпускайте в инет для всех мусю и т.д., т.е. только то что необходимо. А то потом будет другая тема, «меня похакали»

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

т.е. доступ к 3306\tcp ,будет только с 10.0.8.* (тобишь при включенном ovpn). закрыть 403 и 80 во всем кроме 10.0.8.* . тогда у меня перестанут работать два моих php скрипта за пределами ovpn.

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

mysql 3306 я сейчас закрою, можно ли закрыть phpmyadmin для всего кроме 10.0.8.* , однако оставить открытым все остальное что крутиться на apache (две разных www) ?

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

Убрал в mysql.user все хосты кроме localhost и 10.8.0.% , теперь не коннектит к мускулу,

ERROR 1130 (HY000): Host '188.170.75.124' is not allowed to connect to this MySQL server


И если я правильно понимаю, то в 
sudo nano /etc/ufw/before.rules

нужно писать что то, что разберет пакет, посмотрит на 3306 ли пакет и направит на 3306. + прописать drop со всего кроме 10.8.0.* ?

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

и я не понимаю почему при активном vpn (2ip.ru) показывает ip сервера, что доказывает правильную работу ovpn, мускул плказывает мне серый ip выданный оператором.

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

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

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

понял, у меня появился еще один интерфейс tun0 (вывод ifconfig), значит нужно чтоб то что я пишу в консоли шло в tun0 а не eth0 на домашнем пк.

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

Повторю

Но поскольку вы настраиваете ovpn то лучше вообще заблокировать, а вот остальной софт включая муську, запустить на внутреннем адресе, 10... и соответственно разрешения в муське также.

Давайте посмотрим что кажет:
netstat -latn
или при его отсутствии
ss -latn
Это на сервере

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

запутался, почему он не делает это автоматом?

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

понял, у меня появился еще один интерфейс tun0 (вывод ifconfig), значит нужно чтоб то что я пишу в консоли шло в tun0 а не eth0 на домашнем пк.

Думаю что не поняли. pbr конечно решить можно, но это явно не про вашу тему. Вам это не нужно.

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

вывод netstat на домашнем пк:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN     
tcp        0      0 10.8.0.6:40196          178.248.233.6:9000      ESTABLISHED
tcp        0      0 10.8.0.6:38298          64.233.161.188:5228     ESTABLISHED
tcp      412      0 127.0.0.1:60744         127.0.1.1:139           ESTABLISHED
tcp        0      0 10.8.0.6:47116          87.250.251.119:443      ESTABLISHED
tcp        0      0 10.8.0.6:55408          64.233.161.113:443      ESTABLISHED
tcp        0      0 10.8.0.6:47114          87.250.251.119:443      ESTABLISHED
tcp        0      0 127.0.1.1:139           127.0.0.1:60744         ESTABLISHED
tcp        0      0 10.8.0.6:47800          64.233.161.94:443       ESTABLISHED
tcp        0      0 10.8.0.6:51634          173.194.73.94:443       ESTABLISHED
tcp        0      0 10.8.0.6:54318          173.194.220.97:443      ESTABLISHED
tcp        0      0 10.8.0.6:39948          178.62.250.6:443        ESTABLISHED
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::445                  :::*                    LISTEN     
tcp6       0      0 :::139                  :::*                    LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN 

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

вот это netstat с сервера

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 73.215.45.16:3306       0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0     36 73.215.45.16:22         188.170.75.124:61246    ESTABLISHED
tcp        0      0 73.215.45.16:22         188.170.75.124:22119    ESTABLISHED
tcp        0      0 73.215.45.16:22         188.170.75.124:32514    ESTABLISHED
tcp        0      0 73.215.45.16:22         188.170.75.124:56297    ESTABLISHED
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN   
andrey7690
() автор топика
Ответ на: комментарий от andrey7690

Вот видим:
1. Что муся только на внешнем адресе слушает, запускайте на всех, так проще, имхо, для вашего варианта
2. 80 вообще только на v6
3. 443 не видим, он есть «в природе»?

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

Я вот честно не понимаю как у вас тот же апач работает, как вы сказали ранее, или он только на v6 висит?

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

может нужно в конфиге мускула добавить bind-address 10.8.0.2 (последнюю цифру я не знаю какую поставить).

А может его (bind-address) просто не использовать? :)

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

phpmyadmin открывается по 80, по 443 я еще не проверял. т.к. не успел перенести ssl сертификат, домены и скрипты с вирутального хостинга.

Мускул запустить на всех, это как? в конфиге можно указать ip который он будет слушать, например 10.8.0.8, какой адрес там указать?

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

если не использовать то он будет слушать или все или ничего, предположим варинат 1й, тогда в настройках iptables нужно сделать drop на все кроме 10.8.8.% ?

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

Правильно, будет слушать 0.0.0.0 т.е. на всех интерфейсах. А уже fw мы ограничиваем доступ.

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