iptables 引起 ssh 登陆变慢

本文介绍了因iptables配置不当导致SSH连接速度变慢的问题及其解决方案。通过调整iptables规则及关闭SSH DNS解析成功解决了局域网内SSH连接缓慢的问题。

今天修改 iptables 设定,从严设计,结果启用新规则后发现 ssh 局域网登陆变慢;外网登陆到没问题。

(原文链接 http://ddbiz.com/?p=211)

修改

/etc/ssh/sshd_conf

文件,

#UseDNS yes

修改为

UseDNS no

保存后重起sshd,

service sshd restart

问题解决。

 

不过同样原因引起的 vsftp 登陆变慢问题就没有解决掉。vsftp 的配置文件似乎没有此选项

 

 

特别更正,启用iptables 后连接变慢的真正原因找到了。

修改后的 iptables 严格配置文件如下:

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
-A INPUT -s 202.68.104.15 -d 202.68.104.15 -j ACCEPT

-A INPUT -p icmp --icmp-type any -j ACCEPT

-A INPUT -m iprange --src-range 202.68.104.5-202.68.104.8 -d 202.68.104.15 -j ACCEPT

 

COMMIT

 

这个配置中,缺少了很重要的一项:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

该配置表明让 iptables 可以保持状态,因为 iptables 的默认 INPUT 是 drop 的,当tcp 连接时,如果没有上面着一条,则服务器 202.68.104.15 虽然在 OUTPUT 的默认是 ACCEPT 的情况下,但是因为 tcp 的 ack 被默认 DROP 掉了,发出的包都没有回应,从而造成超时。就是这个原因造成了所有连接都变慢。

(原文链接 http://ddbiz.com/?p=211)

Thanks God

### 使用 `iptables` 添加 SSH 访问规则 为了管理通过 SSH 协议访问服务器的安全性,可以通过 `iptables` 设置相应的规则来控制哪些 IP 地址能够连接到服务器上的 SSH 服务。 #### 放行特定IP地址的SSH请求 如果希望允许来自某个具体网段或单个主机的 SSH 连接,则可以在输入链中插入一条接受该源地址的数据包进入系统的规则。例如: ```bash sudo iptables -I INPUT 1 -s 127.0.0.1/24 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT ``` 这条命令表示放行本地回环接口下的所有TCP流量中的新建立以及已存在的SSH连接请求[^2]。 #### 接受指定单一IP地址的SSH连接 针对更精确的需求——仅限于某一个具体的外部IP地址(比如192.168.1.1),可以采用如下方式添加规则: ```bash sudo iptals -A INPUT -p tcp -s 192.168.1.1 --sport 1024:65535 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT ``` 此指令专门用于接收来自上述给定IP范围内的设备发起的新建或者持续状态下的SSH会话尝试[^3]。 #### 拒绝其他未授权的SSH连接 在确保必要的合法接入途径已被妥善安排之后,应当考虑阻止任何不符合前述条件之外的一切潜在威胁性的SSH登录企图。这通常意味着要追加一项拒绝动作至INPUT链末端: ```bash sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j DROP ``` 以上操作将拦截除之前特别许可外的所有新的SSH连接请求。 #### 查看现有SSH相关规则 完成配置更改后,可通过执行下述命令验证当前生效的过滤器列表,并确认新增项是否按预期存在: ```bash sudo iptables -t filter -nvL --line-number | grep ssh ``` 利用这个方法可以帮助管理员快速定位与SSH协议有关联的具体条目位置及其详情信息[^1]。 #### 实现端口转发时需注意的问题 当涉及到跨网络环境间的SSH通信重定向场景时,除了基本的入站和出站方向上关于目标端口号匹配的操作以外,还应该考虑到数据报文往返路径的一致性和连贯性问题。因此,在某些情况下可能还需要额外设定SNAT转换机制以维持正常的交互流程[^4]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值