У меня есть экземпляр Oracle Cloud на ubuntu 20.04, и я настроил сервер apache2. Он работает с curl localhost
, но не работает с общедоступным IP-адресом моего экземпляра. Мой статус ufw:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Apache ALLOW Anywhere
80/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
Apache (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Если бы я хотел sudo ufw disable
Он все еще не подключается.
Он подключается, только если я подключаюсь:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
Но я, очевидно, не хочу этого делать это.
Если я добавлю несколько правил в iptables:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo netfilter-persistent save
Это ничего не изменит
ИЗМЕНИТЬ
sudo iptables -S OUTPUT
:
-P OUTPUT ACCEPT
-A OUTPUT -d 169.254.0.0/16 -j InstanceServices
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A OUTPUT -p tcp -m tcp --dport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Похоже, вы смешиваете и сопоставляете использование необработанных iptables и ufw (который является внешним интерфейсом к iptables)
Я думаю, что первое, что нужно сделать, это удалить все правила ufw, и сбросить iptables. затем выберите один (либо необработанный iptables, либо внешний интерфейс). тогда просто используйте это. Смешивание и сопоставление между ними вызовет всевозможные проблемы