홈페이지는 외부에서는 접속이 불가능하지만 내부에서는 접속이 가능합니다.

홈페이지는 외부에서는 접속이 불가능하지만 내부에서는 접속이 가능합니다.

세부 사항은 다음과 같습니다. Apache 기반 사이트에 액세스할 수 있습니다.내부(서버 내에서)을(를) 통해 curl액세스할 수 없음외부적으로(다음을 제외하고는 아무것도 작동하지 않습니다 . 브라우저 액세스를 ping시도했습니다 .) - itcurl타임아웃. 나는 netcat, netstattraceroute( iptables에서 제안한대로)을 사용하여 문제의 원인을 식별하려고 시도했습니다.이 페이지), 그러나 아무 소용이 없습니다.

구성 은 다음과 같습니다 iptables(활성 네트워크 인터페이스는 입니다 eth1).

iptables -L -nv
Chain INPUT (policy DROP 108K packets, 18M bytes)
 pkts bytes target     prot opt in     out     source               destination
 4575  394K fail2ban-ssh  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 22
11433 3923K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
 5262  481K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    3   156 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:25
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:389
    0     0 ACCEPT     tcp  --  venet0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  venet0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  venet0 *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
    0     0 ACCEPT     tcp  --  venet0 *       0.0.0.0/0            0.0.0.0/0            tcp dpts:830:831
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1170
    3   180 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  venet0 *       10.0.0.0/8           0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED,DNAT
    0     0 ACCEPT     tcp  --  venet0 eth0    0.0.0.0/0            0.0.0.0/0            tcp dpts:830:831
    0     0 ACCEPT     tcp  --  venet0 eth0    0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  venet0 eth0    0.0.0.0/0            0.0.0.0/0            tcp dpt:443
    0     0 ACCEPT     udp  --  venet0 eth0    0.0.0.0/0            0.0.0.0/0            udp dpt:53

Chain OUTPUT (policy ACCEPT 15571 packets, 4718K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain fail2ban-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination
 4575  394K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

답변1

먼저 서버에서 iptables를 비활성화하고 페이지에 액세스해 보십시오.

    #service iptables stop

데비안의 경우:

    #iptables -F

모든 규칙이 새로고침됩니다.

포트 번호가 기본 80이 아닌 경우에도 ip를 사용하여 포트 번호를 지정해야 합니다. 또한 selinux를 허용 모드로 설정해 보십시오.

   #setenforce 0

웹 서비스 서버가 virtualbox에 있는 경우에는 포트 포워딩도 수행해야 합니다.

외부에서는 로컬 LAN을 의미한다고 생각합니다.

반품

Apache 구성 파일(httpd.conf, apache2.conf, listening.conf...)에서 LISTEN 지시어를 검색하세요. localhost 또는 127.0.0.1이 표시되면 서버 IP로 덮어써야 합니다.

  listen 192.168.1.15:80

이것이 selinux 문제라는 것을 확인한 후 selinux를 활성화하려면 selinux에서 httpd를 허용해야 합니다.

      # setsebool -P httpd_can_network_connect=1

이것이 iptables 문제임을 확인하고 ip 테이블을 활성화하고 페이지에 계속 액세스하려면 방화벽에서 포트 80을 허용하십시오.

Debian iptables에서 http와 https를 허용하려면 다음 링크를 참조하세요:

https://github.com/iahmad-khan/system-admin/blob/master/iptables-debian

관련 정보