RHEL 8 VMには小さなApache Webサーバーが設定されていますが、特定のサブネット(10.xxx)のコンピュータからはアクセスできますが、他のサブネット(172.xxx)のコンピュータからはアクセスできません。このWebサーバーはインターネットにアクセスできません。
問題の解決中にファイアウォールとSELinuxを一時的に無効にしようとしましたが、どちらも機能しませんでした。
IP 172.xxx(Webサイトが機能していない)を使用しているWindowsコンピュータのPowershellから、次のものを入手してください。
> tnc 172.22.6.9 -port 80
WARNING: TCP connect to (172.22.6.9 : 80) failed
ComputerName : 172.22.6.9
RemoteAddress : 172.22.6.9
RemotePort : 80
InterfaceAlias : Ethernet 3
SourceAddress : 172.16.195.117
PingSucceeded : True
PingReplyDetails (RTT) : 31 ms
TcpTestSucceeded : False
10.xxx サブネット (Web サイトが動作する場所) の他のコンピュータでは、次の結果が表示されます。
> tnc 172.22.6.9 -port 80
ComputerName : 172.22.6.9
RemoteAddress : 172.22.6.9
RemotePort : 80
InterfaceAlias : Ethernet
SourceAddress : 10.0.236.53
TcpTestSucceeded : True
Tcpdump は以下を表示します。私はすでにsshを介してログインしているので、これがポート22に表示されると思います。
$ tcpdump -nn -i ens192 | grep 172.16.195.117
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
08:23:28.730189 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 664703141:664703221, ack 3210526827, win 488, length 80
08:23:28.730354 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 80:176, ack 1, win 488, length 96
08:23:28.730574 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 176:304, ack 1, win 488, length 128
08:23:28.730676 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 304:400, ack 1, win 488, length 96
08:23:28.730761 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 400:528, ack 1, win 488, length 128
08:23:28.730839 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 528:624, ack 1, win 488, length 96
08:23:28.760000 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 624, win 1022, length 0
08:23:35.942843 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 624:896, ack 1, win 488, length 272
08:23:36.023088 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 896, win 1021, length 0
08:24:01.938129 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 896:1200, ack 1, win 488, length 304
08:24:02.017682 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 1200, win 1025, length 0
08:24:05.957775 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 1200:1472, ack 1, win 488, length 272
08:24:06.035691 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 1472, win 1024, length 0
08:25:01.976052 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 1472:1776, ack 1, win 488, length 304
08:25:02.051839 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 1776, win 1023, length 0
08:25:05.991836 IP 172.22.6.9.22 > 172.16.195.117.50600: Flags [P.], seq 1776:2048, ack 1, win 488, length 272
08:25:06.066825 IP 172.16.195.117.50600 > 172.22.6.9.22: Flags [.], ack 2048, win 1022, length 0
08:25:33.318464 IP 172.16.195.117 > 172.22.6.9: ICMP echo request, id 1, seq 282, length 40
08:25:33.318493 IP 172.22.6.9 > 172.16.195.117: ICMP echo reply, id 1, seq 282, length 40
ファイアウォールサービスが無効になっていても、みんなどこから見てみますか?
ファイル - /etc/httpd/conf/httpd.confを表示Listen 80
Firewalldが実行されているときに気づいたことの1つは、「信頼できる」領域に172.xxx CIDRアドレスがリストされていないことです。これでファイアウォールが無効になっているため、これが重要かどうかはわかりません。
$ firewall-cmd --get-active-zones
libvirt
interfaces: virbr0
public
interfaces: ens192
trusted
sources: 10.0.0.0/16
このコマンドの出力
firewall-cmd --get-active-zones | grep -P '^[^\s]' | xargs -I{} firewall-cmd --info-zone={}
libvirt (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: virbr0
sources:
services: dhcp dhcpv6 dns ssh tftp
ports:
protocols: icmp ipv6-icmp
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule priority="32767" reject
public (active)
target: default
icmp-block-inversion: no
interfaces: ens192
sources:
services: http https ssh
ports: 3389/tcp 9524/tcp 9524/udp 80/tcp 443/tcp
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces:
sources: 10.0.0.0/16
services:
ports:
protocols:
forward: no
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
返品:
grep -PRn '^\s*Listen\s+' /etc/httpd 2>/dev/null
示す:
/etc/httpd/conf/httpd.conf:45:Listen 80
どんなアイデアがありますか?ありがとうございます。