wéi ssh opstellen Tunnel zum benannte virtuellen Host mam Jenkins

Ech sinn de Moment amgaang Server an eisem Labo op der Uni opzestellen, dee fir méi Zwecker benotzt gëtt, inklusiv eng Bibliographiedatebank an e CI Server (Jenkins). Aratioun vu Bedenken, ech hunn e gespaarten Virtuellen Host (VH) fir all Funktioun zesumme mat engem zougestellten internen Domain Numm. Am Labo funktionnéiert d'Arrangement gutt. Ech hunn BIND9 op de Server installéiert, sou datt et fäeg ass Domain Domain Nimm ze léisen.

Wéi och ëmmer, fir mat eisem Labo vun Heem ze verbannen, musse mir als éischt VPN an d'Uni an duerno SSH an d'Gateway Maschinn vun eisem Labo. Vum Gateway kënne mir zougräifen op all intern Maschinnen déi mir brauchen ze erreechen. Wann Dir an de Gateway ageloggt sidd, benotze mir SSH Tunnels wéi néideg. Maschinnen an eisem Labo kënnen net direkt vum VPN zougänglech sinn ouni sech an de Gateway ze protokolléiere wéi d'Politik vun der Uni.

Ech froe mech ob et méiglech ass virtuelle Hosten duerch een eenzegen SSH Tunnel ze kréien? Wéi Server Numm Indikatioun (SNI)? Oder misst ech e Proxy Server wéi Squid installéieren? Ech sammelen datt souwuel DNS wéi och HTTP Traffic korrekt musse geleet ginn. Kann dëst mat just Hosten Dateie-Astellunge gemaach ginn?

All Berodung wier vill appréciéiert. Merci!

Update
Ech hunn weider um Probleem geschafft an hunn eng Léisung déi schéngt ze funktionéieren, awer nach ëmmer e Rescht Feeler huet; Jenkins, op der Manage Säit wann Dir VPN / SSH benotzt, beschwéiert Et schéngt, datt Äre Reverse Proxy-Setup gebrach ass . Also, wärend meng Ufroe richteg sinn, sinn e puer vun mengen Äntwerten net, an ech géif dat gären fixéieren. getunnelt ginn. D'Léisung huet déi folgend involvéiert:
1) Well SNI net verfügbar ass, ass et an dësem Fall méiglech en zousätzlechen eenzegaartegen Hafen zouzeginn fir no all Virtuell Host ze lauschteren. Ech hu gewielt den 808x Upward Range ze benotzen.
2) Ech hunn d'Stropha an der SSH Configuratiounsdatei op menger lokaler Maschinn aktualiséiert déi ech benotze fir mat der Gateway Maschinn ze verbannen fir weiderginn vun all dësen Häfen.
3)Ech hunn e lokale Reverse Proxy op menger lokaler Maschinn konfiguréiert (mat Apache2 a mengem Fall) fir datt ech op all Hafen mat engem Domain Numm referéieren, sou datt d'Ufroe weidergeleet ginn op http: // localhost: 808x . Fir déi lokal VH's hunn ech gewielt den .vpn TLD ze benotzen fir dës als Domainennamen ze markéieren fir se ze benotzen wann Dir VPN benotzt fir mam Labo ze verbannen. Sou kann ech den normalen .int Domain Numm benotzen wann ech am Labo sinn ouni Konflikter.

Insgesamt schéngt dës Léisung gutt ze schaffen. Wärend et eng Optioun ass de Feeler z'entloossen , géif ech et behiewen well, nodeems ech duerch d'Dokumentatioun gelies hunn, ass et fir mech net kloer wat d'Konsequenze wier wann et einfach entlooss gëtt.

Also meng Fro ass elo ganz Jenkins orientéiert, also hunn ech ënnert de verschiddene Konfiguratiounsdateie mat agebaut. Ech froe mech wat ech a mengem Reverse Proxy verpasst hunn oder ob ech mod_rewrite benotze muss. All Berodung wier appréciéiert.

SERVER SIDE
Ech hunn mod_proxy , mod_proxy_http , an mod_headers aktivéiert. Ech hunn nëmmen d'Ännerunge gewisen, déi ech an d'Default Dateie gemaach hunn.

ports.conf

Listen 80
### TOMCAT is running on 8081
Listen 8082
Listen 8083

jenkins.int.vhost

<VirtualHost *:80 *:8081 *:8083>

        ServerName        jenkins.int
        ProxyRequests     Off
        ProxyPreserveHost On
        AllowEncodedSlashes NoDecode

        <Proxy http://localhost:8081/*>
          Order deny,allow
          Allow from all
        </Proxy>

        ProxyPass         /  http://localhost:8081/ nocanon
        ProxyPassReverse  /  http://localhost:8081/
        ProxyPassReverse  /  http://jenkins.int/

#       Header edit Location ^http://jenkins.vpn http://jenkins.int
</VirtualHost>

/ etc / defaults / jenkins

# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8081
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"

/ var / lib / jenkins / jenkins .model.JenkinsLocationConfiguration.xml

<jenkinsUrl>http://jenkins.int/</jenkinsUrl>

/var/lib/jenkins/jenkins.CLI.xml

<jenkins.CLI>
  <enabled>true</enabled>
</jenkins.CLI>

Dëst hei uewen ass gebraucht fir Skripte kënnen ze lafen.

CLIENT SIDE

/ etc / apache2 / sites-available /000-default.conf

<VirtualHost *:80>

    ServerName biblio.vpn

    ProxyPass / http://localhost:8082/

</VirtualHost>

<VirtualHost *:80>

    ServerName jenkins.vpn
    ProxyRequests Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode

    ProxyPass / http://localhost:8083/
    ProxyPassReverse / http://localhost:8083/
    ProxyPassReverse / http://jenkins.int/

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

SSH Configuratiounsdatei

LocalForward localhost:8080 server.local:8080
LocalForward localhost:8081 server.local:8081
LocalForward localhost:8082 server.local:8082
LocalForward localhost:8083 server.local:8083

Update 2

Nodeems ech mat e puer hëllefräiche Jenkins Benotzer op IRC geschwat hunn, sinn ech zur Conclusioun komm datt de futtisse Reverse Proxy Feeler / Warnung an eisem Fall entlooss ka ginn.
Eng lescht, kleng awer onfeelbar Ausgab war datt de Link "New View" op déi falsch Adress gewisen huet ("jenkins.int" amplaz "jenkins.vpn"). Editing core / src / main / java / jenkins / model / NewViewLink.java an ersetzt Jenkins.getInstance (). GetRootUrl () mat "/" an der Linn 47, da baut Jenkins nei op an eropluede vun der WAR Datei, dëse Problem behuewen.

0
задан 27 April 2019 в 07:39
1 ответ

Узнайте, почему организация использует политику туннелирования вас через шлюзовую машину, когда вы уже подключены к VPN.

  • Причиной может быть тестовая сеть, опасная для производственной сети, но база данных контента и система CI / CD вряд ли опасны.
  • Конфиденциальная информация не для всех пользователей может нуждаться в защите. Но в противном случае это можно было бы сделать с аутентификацией во всех системах. Возможно, это решение по предотвращению потери данных, если данные являются чрезвычайно конфиденциальными или ценными.

Если брандмауэр позволяет это, вы можете настроить балансировщики нагрузки внешнего интерфейса или прокси-серверы за пределами лаборатории. Прокси-соединения пользователей в веб-приложениях и т. Д. С серверными модулями и базами данных внутри сети. Классический дизайн для «внешних» приложений.

Если необходимо туннелирование, направьте лабораторную подсеть через туннель, а не перенаправляйте отдельные порты с помощью ssh. Кроме того, было бы проще использовать VPN прямо из Интернета в эту лабораторную сеть.Туннель внутри туннеля возможен, но написание конфигурации, которую может использовать менее технически сложный пользователь, может оказаться сложным, между любой необходимой маршрутизацией и, возможно, несколькими разными VPN-клиентами.

0
ответ дан 5 December 2019 в 03:25

Теги

Похожие вопросы