我正在尝试使用特定端口通过 SSH 进入 CentOS7 服务器。以下规则是 iptables 规则:
iptables -P INPUT DROP
iptables -P FORWARD DROP
允许适当的端口 IN、OUT 和 FORWARD
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT
iptables -A INPUT -p tcp --dport 2113 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 168.63.129.16 -j ACCEPT
iptables -A OUTPUT -d 168.63.129.16 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.13.4 --sport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -d 172.16.13.4 --dport 3389 -j ACCEPT
允许 RDP 到 az-ws
iptables -A FORWARD -p tcp -d 172.16.13.4 --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -s 172.16.13.4 --sport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 2113 -j DNAT --to-destination 172.16.13.4:3389
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
允许 SSH 访问 az-ls
iptables -A FORWARD -p tcp -d 172.16.13.5 --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -d 172.16.13.5 --sport 22 -j ACCEPT
SELinux 已设置为强制执行,但策略已更新,正在监听并允许端口 2113
sshd_config 当前设置为监听两个端口,即端口 2113 和端口 22。
如果我从 sshd_conf 中删除端口 22,我将无法通过 ssh 进入,如果我尝试指定端口 2113,则会收到连接超时错误或 ssh_exchange_identification:读取:连接重置错误。我不确定如何解决这个问题
答案1
这是您的问题:
iptables -t nat -A PREROUTING -p tcp --dport 2113 -j DNAT --to-destination 172.16.13.4:3389
你说你配置了 sshd 来监听端口 2113,但你已将所有流量转移到其他主机。因此 sshd 永远无法访问。
您需要选择其他端口,或者删除改道。