Несколько месяцев назад я нанял сервер 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 или мне нужно что-то переслать с помощью брандмауэра.
проверьте файл httpd.conf/apache.conf, порт Listen
должен быть 80, а не 8000.
Это экземпляр облака? если да, то даже если вы разрешите его с помощью iptables
, он не будет открыт миру. Вам нужно будет открыть порт в ACL вашего провайдера.