AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 807775
Accepted
hotkarl
hotkarl
Asked: 2016-10-08 10:34:50 +0800 CST2016-10-08 10:34:50 +0800 CST 2016-10-08 10:34:50 +0800 CST

iptables 在端口 22 上阻止数据包

  • 772

在运行调用 paramiko 的 python 库时,我注意到我的 iptables 日志中有一些被阻止的数据包。当我试图弄清楚为什么 iptables 运行时这个库的网络性能不一致时,我注意到了被阻止的数据包。基本上,服务器(以下日志中的 10.0.12.206)运行库,该库使用 paramiko 通过端口 22 在客户端(以下日志中的 10.0.10.103)上安全地执行命令。当客户端运行许可 iptables 时,它运行良好出色地。当客户端使用以下规则运行 iptables 时,通常会出现无限期挂起,我怀疑这可能是由于客户端上运行的 iptables 阻止了某些数据包,因为这些数据包仅在库运行时出现在日志中。

这些是我的 iptables 规则-

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP

-A INPUT -i lo -j -ACCEPT
-A OUTPUT -o lo -j -ACCEPT

-A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

-A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT

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

-A INPUT -j LOG --log-prefix "IPtables DROP DEFAULT IN: " 
-A OUTPUT -j LOG --log-prefix "IPtables DROP DEFAULT OUT: " 

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP

这些是客户端日志中的常见消息-

Oct  7 16:43:08 ip-10-0-10-103 kernel: IPtables DROP DEFAULT IN: IN=eth0 OUT= MAC=<withheld> SRC=10.0.12.206 DST=10.0.10.103 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=18436 DF PROTO=TCP SPT=58634 DPT=22 WINDOW=523 RES=0x00 ACK FIN URGP=0

Oct  7 16:44:14 ip-10-0-10-103 kernel: IPtables DROP DEFAULT OUT: IN= OUT=eth0 SRC=10.0.10.103 DST=10.0.12.206 LEN=260 TOS=0x00 PREC=0x00 TTL=64 ID=57627 DF PROTO=TCP SPT=22 DPT=58634 WINDOW=240 RES=0x00 ACK PSH URGP=0

我想看看这些被阻止的数据包是否引起了麻烦。如何允许这些被阻止的数据包通过?我尝试了一些规则,但没有运气,例如-

-A OUTPUT -o eth0 -p tcp --tcp-flags ALL ACK,PSH,URG -j ACCEPT
iptables
  • 1 1 个回答
  • 384 Views

1 个回答

  • Voted
  1. Best Answer
    DerfK
    2016-10-08T11:42:09+08:002016-10-08T11:42:09+08:00

    我认为问题在于您允许OUTPUT 端口22,但它应该来自端口 22:

    -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
    

    这应该可以修复您发布的第二条日志行。我不确定为什么您记录的第一个数据包会被捕获。你能检查iptables -nvL并确保这些规则得到实际应用吗?

    • 1

相关问题

  • OpenVPN 的 Linux IP 转发 - 正确的防火墙设置?

  • iptables 单个规则中的多个源 IP

  • 存储 iptables 规则的规范方法是什么

  • 使用 iptables 和 dhcpd 进行端口转发

  • 根据 Apache 日志数据自动修改 iptables 以阻止行为不良的客户端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve