Không thể truy cập cổng 80 từ vị trí từ xa nhưng hoạt động trên địa phương?


14

Tôi có một máy chủ linux về cấu hình với apache. Tuy nhiên tôi không thể truy cập nó bằng máy tính từ xa.

Tôi có thể ssh đến máy chủ bình thường.

bảng IP của tôi:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

netstat -ant

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN
tcp        0      0 SERVERIP:80                 0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:45117               0.0.0.0:*                   LISTEN
tcp        0    196 SERVERIP:22                 MyIP:3149                   ESTABLISHED
tcp        0      0 :::111                      :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 :::47193                    :::*                        LISTEN

sử dụng Curl SERVERIP:80curl localhost:80, cả hai trả về trang mặc định từ apache.

Điều gì có thể là vấn đề?

Câu trả lời:


26

Bạn cần kích hoạt quyền truy cập vào máy chủ của mình trên cổng 80 vì hiện tại nó đang bị chặn bởi iptables.

sudo /sbin/iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Điều này sẽ chèn quy tắc vào cấu hình iptables của bạn khi bắt đầu. Một khi bạn đã làm điều này và kiểm tra rằng nó hoạt động thì bạn nên lưu cấu hình để nó được sử dụng vào lần tiếp theo khi dịch vụ bắt đầu,

sudo /sbin/service iptables save

Điều này sẽ ghi cấu hình hiện tại vào /etc/sysconfig/iptables.

Nếu bạn sử dụng CentOS 7 thì FirewallD là cách phù hợp:

tường lửa-cmd --zone = công cộng --add-port = 80 / tcp

Xác minh với trình duyệt của bạn rằng nó hoạt động, và sau đó:

tường lửa-cmd --zone = công cộng --add-port = 80 / tcp --permanent

tường lửa-cmd - tải lại

Để thay đổi vĩnh viễn


1

Quy tắc iptables của bạn chỉ cho phép các kết nối đến trên cổng 22. Mở cả cổng 80.


... và cmd làiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
onik

... đúng, nhưng sẽ không hoạt động, bởi vì nó sẽ nối thêm quy tắc này phía sau quy tắc TÌM KIẾM tất cả các kết nối đến không được CHẤP NHẬN trước đó.
Paweł Brodacki

Điều đó đúng, tôi chỉ quen với việc thêm nó vào tệp quy tắc vào đúng vị trí, quên đề cập đến. iptables -D FORWARD -j REJECT --reject-with icmp-host-prohibited, sau đó là trước đó, sau đó thêm từ chối tất cả vớiiptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
onik

0

Bạn cũng có thể sử dụng dịch vụ http mặc định trực tiếp

tường lửa-cmd --permanent --zone = công cộng --add-service = http

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.