首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 查看iptable

iptables 是 Linux 系统中的一个命令行工具,用于配置内核的网络包过滤规则。它允许系统管理员根据数据包的源地址、目的地址、传输协议等条件来允许或拒绝数据包的通过。

基础概念

  • 表(Tables):iptables 有四个内置表,分别是 filternatmangleraw。每个表都有特定的用途。
  • 链(Chains):每个表由一系列预定义的链组成,例如 INPUTOUTPUTFORWARD
  • 规则(Rules):链中包含了一系列规则,每条规则定义了对数据包的处理方式。
  • 目标(Targets):当数据包匹配到某条规则时,iptables 会根据规则的目标来处理数据包,常见的目标有 ACCEPTDROPREJECT 等。

查看 iptables 规则

要查看当前的 iptables 规则,可以使用以下命令:

代码语言:txt
复制
sudo iptables -L -v -n
  • -L 列出所有规则。
  • -v 显示详细信息。
  • -n 以数字形式显示地址和端口,而不是尝试解析为域名或服务名。

示例输出

代码语言:txt
复制
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  100  7000 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
  50   4000 DROP       all  --  *      *       192.168.1.100        0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

应用场景

  • 网络安全:通过设置规则来阻止未经授权的访问。
  • 流量控制:限制某些类型的数据包流量。
  • NAT(网络地址转换):用于多台设备共享单个公网IP地址。

遇到的问题及解决方法

问题:无法访问外部网络

原因:可能是 iptables 规则阻止了出站流量。

解决方法

检查 OUTPUT 链的规则:

代码语言:txt
复制
sudo iptables -L OUTPUT

如果发现有阻止所有出站流量的规则,可以临时删除或修改它:

代码语言:txt
复制
sudo iptables -D OUTPUT <rule_number>

或者添加允许所有出站流量的规则:

代码语言:txt
复制
sudo iptables -A OUTPUT -j ACCEPT

问题:无法接收外部连接

原因:可能是 INPUT 链的规则阻止了入站流量。

解决方法

检查 INPUT 链的规则:

代码语言:txt
复制
sudo iptables -L INPUT

确保有允许 SSH(或其他服务)的规则。如果没有,可以添加:

代码语言:txt
复制
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

注意事项

  • 修改 iptables 规则后,这些更改在系统重启后会丢失。要使规则持久化,可以使用 iptables-saveiptables-restore 命令,或者使用特定于发行版的工具如 iptables-persistent

通过以上信息,你应该能够理解 iptables 的基本概念、如何查看规则以及常见问题的解决方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券