Apache2 не работает с портом 80, но работает с портом 8000 в Proxmox (та же конфигурация)

Несколько месяцев назад я нанял сервер Kimsufi, я безуспешно пытался перенаправить порты.

Я бросил сервер, несколько дней назад я начал заново все настраивать, но у меня все еще проблемы.

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

Основная проблема в том, что я установил apache2 на виртуальную машину (с Debian), если я использую порт 8000 для размещения веб-сайтов, все работает хорошо (с использованием http://z3nth10n.net:8000 ) .

Это моя конфигурация интерфейсов ( / etc / network / interfaces ):

auto lo
iface lo inet loopback

iface enp4s0 inet manual

iface enp5s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address  <public ip>
        netmask  24
        gateway  <public gateway>
        bridge-ports enp4s0
        bridge-stp off
        bridge-fd 0

auto vmbr1
iface vmbr1 inet static
        address  192.168.5.99
        netmask  24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up   iptables -t nat -A POSTROUTING -s '192.168.xx.0/24' -o vmbr0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '192.168.xx.0/24' -o vmbr0 -j MASQUERADE
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8000 -j DNAT --to 192.168.xx.55:8000
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 8000 -j DNAT --to 192.168.xx.55:8000
        post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.xx.55:80
        post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.xx.55:80
        post-up iptables -A FORWARD -p tcp -d 192.168.xx.55 --dport 80 -j ACCEPT
        post-down iptables -D FORWARD -p tcp -d 192.168.xx.55 --dport 80 -j ACCEPT

Я добавил эти две строки:

        post-up iptables -A FORWARD -p tcp -d 192.168.xx.55 --dport 80 -j ACCEPT
        post-down iptables -D FORWARD -p tcp -d 192.168.xx.55 --dport 80 -j ACCEPT

Но это все еще не работает.

nmap показывает, что порт открыт на виртуальной машине, но закрыт на хост-машине, поэтому меня это сбивает.

Я прочитал ( iptables имеет порт 80 открытым, но nmap показывает, что он закрыт ), что если порт не при использовании он не будет отображаться как открытый на nmap.

Также я выполнил netstat -lnp | grep 80 , и это результат:

HOST MACHINE

root@ns324919:~# netstat -lnp | grep 80
tcp        0      0 0.0.0.0:8006            0.0.0.0:*               LISTEN      1572/pveproxy worke
unix  2      [ ACC ]     STREAM     LISTENING     17217    980/qmeventd         /var/run/qmeventd.sock
unix  2      [ ACC ]     STREAM     LISTENING     2380     1/init               /run/rpcbind.sock
unix  2      [ ACC ]     STREAM     LISTENING     18056    991/watchdog-mux     /run/watchdog-mux.sock
unix  2      [ ACC ]     STREAM     LISTENING     34980709 1975/kvm             /var/run/qemu-server/100.vnc
unix  2      [ ACC ]     STREAM     LISTENING     23800    1665/master          private/bsmtp
unix  2      [ ACC ]     STREAM     LISTENING     23803    1665/master          private/scalemail-backend
unix  2      [ ACC ]     STREAM     LISTENING     23806    1665/master          private/mailman

VIRTUAL MACHINE

root@debian:~# netstat -lnp | grep 80
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      808/mysqld         
tcp6       0      0 :::80                   :::*                    LISTEN      14825/apache2       
unix  2      [ ACC ]     STREAM     LISTENING     12719    808/mysqld           /var/run/mysqld/mysqld.sock

Итак, я могу предположить, что порт не используется на хост-машине.

Кроме того, я отключил брандмауэр:

root@ns324919:~# pve-firewall status
Status: disabled/stopped

Я отключил все, чтобы убедиться, что это не мешает моему тесту, но из-за Idk у меня есть сомнения, создал ли я сеть DMZ или мне нужно что-то переслать с помощью брандмауэра.

-1
задан 18 November 2019 в 21:10
1 ответ

проверьте файл httpd.conf/apache.conf, порт Listen должен быть 80, а не 8000.

Это экземпляр облака? если да, то даже если вы разрешите его с помощью iptables, он не будет открыт миру. Вам нужно будет открыть порт в ACL вашего провайдера.

.
0
ответ дан 5 December 2019 в 20:11

Теги

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