Ping 通說明 L2/L3 連通正常,TCP 三次握手在 ICMP 層面無阻礙。Telnet 失敗(默認端口 23)指向:
firewalld/iptables/nftables,需顯式放行端口 23。# RedHat/CentOS 7+
systemctl status telnet.socket # 或 telnetd
systemctl start telnet.socket
systemctl enable telnet.socket
# openSUSE
systemctl status xinetd # telnet 通常由 xinetd 管理
systemctl start xinetd
# 檢查端口監聽
ss -ltn | grep :23
# 或
netstat -ltn | grep :23
若無 LISTEN 狀態的 23 端口 → 服務未啟動/未安裝(yum install telnet-server / zypper install telnet-server)。
# firewalld (RedHat 7+, openSUSE)
firewall-cmd --permanent --add-port=23/tcp
firewall-cmd --reload
# iptables (舊版)
iptables -I INPUT -p tcp --dport 23 -j ACCEPT
service iptables save
getenforce # 若為 Enforcing
# 臨時放行測試
setenforce 0
# 永久需修改 /etc/selinux/config SELINUX=permissive 或配置策略
# 查看拒絕日誌
ausearch -m avc -ts recent | grep telnet
cat /etc/hosts.allow
cat /etc/hosts.deny
# 確保無 ALL: ALL 拒絕,或添加
# hosts.allow: in.telnetd: 192.168.0.
# 在 RedHat (目標機) 抓包
tcpdump -i any -nn port 23
# 在 openSUSE (客戶端) 發起連接
telnet 192.168.0.248
# 觀察:是否有 SYN 到達?是否有 SYN+ACK 回應?是否有 RST/FIN?
ss -ltn | grep :23 確認服務端口監聽。firewall-cmd --list-ports 確認 23/tcp 放行。setenforce 0 臨時關閉 SELinux 測試。tcpdump -i any port 23 抓包分析 TCP 狀態機。同網段橋接模式下 VM 間 Ping 通但 Telnet 不通,**99% 是目標機 Telnet 服務未啟動或防火牆/SELinux 攔截端口 23**