Monday, November 20, 2017

Проброс RDP через внешний сервер и свой внешний прокси сервер на базе squid

Дано:
Есть сервер, например на DigitalOcean, который вам нужен, чтобы ходить на свои терминальные сервера через него.
Задача:
1. Подключаться только с нужных подсетей или ip адресов на нужные порты и по ssh:
2. Перенаправление трафика на нужные нам сервера
3. Рабочий проси сервер доступный только с нужных адресов



1. Нужно настроить правильно firewalld, так как у нас Centos 7. Разрешаем доступ на нужный сервис в данном случае service name="ssh", а все остальное отбиваем:

#source address="our_network" - указываем наши подсети или ip, с которых мы должны подключаться. например source address="81.34.42.0/24"
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="ssh" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="ssh" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="ssh" source address="ip" accept'
firewall-cmd --permanent --zone=public --set-target=DROP
firewall-cmd --reload 

2. Настраиваем перенаправление трафика через удаленный сервер:
#port 444 и 443 должны быть открыты и проброшены на ваши RDP cервера на вашем маршрутизаторе, 94.22.11.11 - это ip вашего маршрузатора, за которым RDP cервера.

firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="our_network" forward-port to-addr="94.22.11.11" to-port="444" port="444"  protocol="tcp"'
firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="ip" forward-port to-addr="94.22.11.11" to-port="443" port="443"  protocol="tcp"'
firewall-cmd --reload

3. Необходимо сделать свой сервис и добавить туда нужные порты:

# Порты по которым будем подключать на терминальный сервер, например 123.123.123.123:444 и будем стразу попадать на сервер:
firewall-cmd --permanent --add-service=PRDP
firewall-cmd --permanent --service=PRDP --add-port=443/tcp
firewall-cmd --permanent --service=PRDP --add-port=444/tcp
firewall-cmd --reload

4. Аналогично первому пункту делаем правила для сервиса PRDP:

firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PRDP" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PRDP" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PRDP" source address="ip" accept'
firewall-cmd --reload 

5. Установка и настройка прокси Squid
1) устанавливаем

yum install squid

2)  настраиваем прокси, идем в /etc/squid/squid.conf и меняем:

http_port 3131 # изменил стандартный 3128
acl localnat src our_network#  прописываем нужные нам подсети

3) перезупускаем squid

service squid restart

6. Настроиваем правильно firewalld  для squid:

#Создаем сервис PSQUID
firewall-cmd --permanent --add-service=PSQUID
firewall-cmd --permanent --service=PSQUID --add-port=3131/tcp

#Разрешаем трафик
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PSQUID" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PSQUID" source address="our_network" accept'
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" service name="PSQUID" source address="ip" accept'
firewall-cmd --reload 

PS.
http://www.linuxjournal.com/content/understanding-firewalld-multi-zone-configurations?page=0,1
https://fedoraproject.org/wiki/FirewallD/ru

No comments:

Post a Comment