Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    2 Внутренних сайта на одном ip

    Scheduled Pinned Locked Moved Russian
    17 Posts 6 Posters 1.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      nintendoos
      last edited by nintendoos

      Подскажите пожалуйста. Возможно ли, настроить правила pfsene, для доступа к двум внутренним сайтам.
      Имеется pfsense и один внешний ip адрес к примеру 109.52.56.23
      Локальная сеть 192.168.0.0/16
      Внутри локалки есть 2 разных сервера с разными сайтами,
      соответственно есть два разных доменных имени.
      К примеру mycompany.com и mycompan.net
      На pfsense в NAT сделал проброс на эти сайты. но происходит рандом, либо один открывется либо другой.
      Как сделать, что бы каждое доменное имя отрабатывало верно.
      При заходе на mycompane.com открывал 192.168.0.9
      А при mycompan.net открывал 192.168.15.5
      Заранее спасибо, за наводки.

      K 1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by

        Добрый
        Попробуйте пакет haproxy. Можно даже let's encrt прикрутить.

        1 Reply Last reply Reply Quote 0
        • N
          nintendoos
          last edited by

          Спасибо за ответ!
          Установил, но возможно я чего-то не знаю.
          Может есть инструкция как с ним подружиться и настроить?

          1 Reply Last reply Reply Quote 0
          • S
            Sergey1985
            last edited by Sergey1985

            https://gainanov.pro/eng-blog/linux/installing-haproxy-pfsense/
            https://blog.devita.co/pfsense-to-proxy-traffic-for-websites-using-pfsense/

            1 Reply Last reply Reply Quote 0
            • K
              Konstanti @nintendoos
              last edited by

              @nintendoos
              Здр
              Первое , что приходит на ум , это использовать разные порты при установлении соединения (WAN интерфейс)
              Например ,
              mycompany.com:6000 -> 192.168.0.9 ( внутренний номер порта сервера)
              mycompan.net:7000 -> 192.168.15.5 ( внутренний номер порта сервера)

              HAProxy , по-моему, все-таки немного для другого сделан

              1 Reply Last reply Reply Quote 0
              • N
                nintendoos
                last edited by

                Спасибо за ответы. И так и так буду пробовать)
                Про идею на разные порты это хорошо, но в днс провайдера я не смогу указать ip:port)
                А про haproxy, сижу разбираюсь

                K 1 Reply Last reply Reply Quote 0
                • K
                  Konstanti @nintendoos
                  last edited by Konstanti

                  @nintendoos
                  А при чем тут DNS провайдера ?
                  DNS вернет ip адрес домена и все .
                  Тут вопрос решается настройками софта клиента и настройками проброса портов Вашего PFSense.

                  Или нужен второй ip адрес на wan интерфейсе . Тогда каждому сайту будет соответствовать свой ip

                  1 Reply Last reply Reply Quote 0
                  • N
                    nintendoos
                    last edited by

                    У меня один внешний ип адрес.
                    Вот скажите мне, как клиент будет попадать на сайт, если он введёт к примеру popa.popa.ru?
                    Да на сенсе, я сделаю проброс портов, что если кто то ломиться на 10.10.10.10:7000 он попадёт куда надо) но если мы возьмём доменные адреса, то тут у меня встаёт затык. Он будет попадать на другую страницу. А это не то что мне надо.
                    У меня в сети есть веб сервера с pops.ru и tot.ru и Mail.roui.com и не только. По этому и вопрос был.

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Konstanti @nintendoos
                      last edited by Konstanti

                      @nintendoos
                      Он введет не popa.popa.ru
                      а введет в строке браузера
                      popa.popa.ru:7000

                      в результате браузер будет пытаться установить соединение по адресу
                      109.52.56.23 на порту 7000

                      1 Reply Last reply Reply Quote 0
                      • N
                        nintendoos
                        last edited by nintendoos

                        Как он это будет делать? В ручную вводить?
                        Мне нужно что бы просто при открытии pops.pops.ru открывал 192.168.5.4
                        И если клиент набирает popa.popa.ru открывал 192.168.14.8

                        Про то что вы говорите, я так раньше делал, пока все не объеденили в одну Итить его сеть....

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Konstanti @nintendoos
                          last edited by Konstanti

                          @nintendoos
                          Я прекрасно понимаю , что Вам нужно
                          но на этапе установления соединения Вы никак не сможете выяснить , какой домен был введен в адресную строку браузера .
                          Соединение клиента с сервером устанавливается по ip адресу на определенном порту.
                          Если соединение устанавливается с использованием https , то единственная точка, где можно узнать на какой сайт хотел попасть клиент , это анализ пакета ClientHello при TLS рукопожатии (поле SNI) . И все. Но тут для Вас затык , так как до того как пойдет пакет ClientHello , пройдет tcp рукопожатие (те tcp соединение уже будет установлено).

                          В теории, есть гипотеза , как такое можно реализовать ( схема немного "извращенная") , но проще вводить адрес в строке браузера.

                          1 Reply Last reply Reply Quote 0
                          • N
                            nintendoos
                            last edited by nintendoos

                            Я правильно Вас понял, что проще клиенту выдать сайт к примеру popa.popa.ru:7000 и на этом успокоиться?
                            Я сейчас читаю про Haproxy, и там вроде реализуется то что я хочу. Но там затык в ssl, и https - который будет смотреть весь https трафик на Firewall
                            Мне конечно хотелось бы в идеале решить вопрос, что бы когда клиент просто открывал страницу сразу переадресовывался туда куда нужно, либо плюнуть на сенс и поднять все на фряхе по отдельности и уже не мучать ни кого....

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Konstanti @nintendoos
                              last edited by

                              @nintendoos

                              До того как пойдет ssl и https , будет пройден tcp handshake. Те соединение с каким-то из серверов будет установлено. Речь идет о пакетах 70,71,72.
                              Например ,
                              adcd618b-62d9-4dcc-83a2-4bb353a48e99-image.png

                              Поэтому мое мнение прежнее - каждому сайту свой порт. Самое нормальное и простое решение

                              1 Reply Last reply Reply Quote 0
                              • N
                                nintendoos
                                last edited by

                                Спасибо!
                                Попробую и так и почитаю про Haproxy. Если заработает через Haproxy, отпишусь тут.
                                А нет, сделаю как вы предложили, хотя на данный момент у меня в принципе так и сделано....
                                Но душа хочет красоты.....)

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pigbrother
                                  last edited by pigbrother

                                  А если использовать http/https-переадресацию, указав в целевом URL номер порта (если такое доступно в управлении DNS)
                                  Это избавит клиента от необходимости вводить номер порта.

                                  Или обслуживать оба (и более) сайта одним HTTP-сервером?
                                  У апача это виртуальные хосты
                                  https://habr.com/en/sandbox/3533/
                                  Если нужен SSL
                                  https://losst.ru/nastrojka-virtualnyh-hostov-apache

                                  1 Reply Last reply Reply Quote 0
                                  • N
                                    nintendoos
                                    last edited by

                                    К сожалению, в управлении DNS (хостинга) это не возможно
                                    Может быть и проще тогда поднять за сенсом отдельный http сервер и на нем все делать....
                                    Я нашел как один человек реализовал такую связку acme + pfsense
                                    https://www.youtube.com/watch?v=gVOEdt-BHDY
                                    Сейчас сижу изучаю.

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rem1488
                                      last edited by rem1488

                                      @Konstanti said in 2 Внутренних сайта на одном ip:

                                      Сделай нат на обратный прокси nginx. а от туда раскидай на разные web сервера

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post
                                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.