# 示例代码:使用iptables设置基本的防火墙规则
# 清空所有现有的规则
sudo iptables -F
# 设置默认策略为DROP,即默认拒绝所有流量
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
# 允许本地回环接口(lo)的流量
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 -j ACCEPT
# 允许特定端口的入站流量,例如SSH (22) 和 HTTP (80)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许ICMP协议(ping)
sudo iptables -A INPUT -p icmp -j ACCEPT
# 保存规则
# 对于Debian/Ubuntu系统:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
# 对于CentOS/RHEL系统:
sudo service iptables save
清空所有现有规则:sudo iptables -F
这条命令会清除当前所有的iptables规则,确保从一个干净的状态开始配置。
设置默认策略为DROP:sudo iptables -P INPUT DROP
设置默认策略为拒绝所有入站、转发和出站流量。这可以确保只有明确允许的流量可以通过防火墙。
允许本地回环接口的流量:sudo iptables -A INPUT -i lo -j ACCEPT
允许本地回环接口(lo)的流量,这对于本地服务通信是必要的。
允许已建立的连接和相关的流量:sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
允许已经建立的连接和相关的流量通过,这样可以确保响应流量能够正常返回。
允许特定端口的入站流量:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允许特定端口的入站流量,例如SSH (22) 和 HTTP (80),以确保这些服务可以正常访问。
允许ICMP协议(ping):sudo iptables -A INPUT -p icmp -j ACCEPT
允许ICMP协议,这样你可以使用ping工具来测试网络连通性。
保存规则:
iptables-save
命令将规则保存到文件中。service iptables save
命令保存规则。通过这些命令,你可以配置一个基本的iptables防火墙,确保只有你需要的流量可以通过。
上一篇:linux查看目录有多少文件
下一篇:linux如何查看端口占用情况
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站