我安装了 Ubuntu 18.04 供个人使用,几周前我能够从内部和外部 IP 进行连接。当我注意到其他人试图访问时,我确实使用 iptables 命令禁用了访问。
我确实在端口 22 上使用了 iptables ACCEPT,现在我无法使用外部 IP 进行连接,但是 ssh internal_ip 可以工作。
路由器中设置了端口转发,允许端口 22 到 Ubuntu IP。当我运行tcptraceroute 外部 IP
知识产权# 显示预期的内部 IP
tcptraceroute 外部 IP# 使用内部 IP 登录时显示路由器 IP 和 Ubuntu 内部 IP /var/log/auth.log # 显示“已接受..”
使用此命令允许端口 22
sudo /sbin/iptables -I 输入 -p tcp -m tcp --dport 22 -j 接受
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ufw 状态 状态:不活跃
/var/log/auth.log 显示从内部 IP 连接时的日志。尝试从外部 IP 连接时没有日志。
ssh -vvv 用户@externalip
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: resolving "external-ip" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to external-ip [external-ip] port 22.
** sudo 服务 ssh 状态 **
Active: active (running)
请告诉我我还可以检查什么,以及提供详细信息时的任何提示。我搜索了很多帖子,但无法缩小问题范围。
几周前,当我注意到几次尝试机器时,我确实在 jail.local 上安装了 fail2ban,如果需要详细信息请告诉我。
我正在熟悉 iptables,但感觉它没有让我通过。
路由器配置为转发到192.168.1.115端口22,请建议如何使用iptables进行转发。
我正在更新我尝试过的其他 iptables,我确实用 iptables -F 刷新了所有规则
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
我使用 ip -4 地址显示范围全局
ip route show | grep 默认
sudo iptables -A FORWARD -i wlp5s0 -p tcp --syn --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nmap 192.168.1.115
PORT STATE SERVICE
22/tcp open ssh
nmap 外部IP
PORT STATE SERVICE
22/tcp filtered ssh