ubuntu

ubuntu iptables如何阻止所有连接

小樊
70
2025-04-25 11:39:50
栏目: 智能运维

在Ubuntu系统中,使用iptables来阻止所有连接可以通过设置默认策略为DROP来实现。以下是具体步骤:

方法一:临时阻止所有连接

  1. 备份当前的iptables规则(可选但推荐):

    sudo iptables-save > /etc/iptables/rules.v4.backup
    
  2. 设置默认策略为DROP

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT DROP
    
  3. 允许必要的连接

    • 允许本地回环接口的流量:
      sudo iptables -A INPUT -i lo -j ACCEPT
      sudo iptables -A OUTPUT -o lo -j ACCEPT
      
    • 允许已经建立的连接和相关的数据包:
      sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      
    • 允许SSH连接(假设SSH端口是22):
      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      
  4. 保存规则(临时生效,重启后失效):

    sudo iptables-save > /etc/iptables/rules.v4
    

方法二:永久阻止所有连接

  1. 安装iptables-persistent(如果尚未安装):

    sudo apt update
    sudo apt install iptables-persistent
    
  2. 设置默认策略为DROP

    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    
  3. 允许必要的连接

    • 允许本地回环接口的流量:
      sudo iptables -A INPUT -i lo -j ACCEPT
      sudo iptables -A OUTPUT -o lo -j ACCEPT
      
    • 允许已经建立的连接和相关的数据包:
      sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
      
    • 允许SSH连接(假设SSH端口是22):
      sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
      
  4. 保存规则(永久生效):

    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

注意事项

通过以上步骤,你可以有效地阻止所有连接到你的Ubuntu系统。

0
看了该问题的人还看了