最最简单的一个iptables配置

博客主要展示了使用iptables进行规则设置的代码,包括清空INPUT、OUTPUT、FORWARD链,设置默认规则为DROP,允许特定IP的TCP 22端口通信等。同时提醒iptables 1.2.11版本设置默认规则时需省略 -j。

#!/bin/bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

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

iptables -A INPUT -p tcp --dport 22 -s xxx.xxx.xxx.xxx/32 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -d xxx.xxx.xxx.xxx/32 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 0/0 -j DROP
iptables -A OUTPUT -p tcp --sport 22 -d 0/0 -j DROP

需要注意的是iptables 1.2.11版本在设置一个链的默认规则时不再使用 iptables -P chain -j target语法,将-j直接省略。

iptables 配置文件一般位于 `/etc/sysconfig/iptables`,它用于存储 iptables 规则。 这个文件的格式比较特殊,它包含了一系列 iptables 命令和参数,用于定义防火墙规则。例如,以下是一个简单iptables 配置文件示例: ``` # Generated by iptables-save v1.4.21 on Mon Feb 1 15:31:31 2021 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 COMMIT # Completed on Mon Feb 1 15:31:31 2021 # Generated by iptables-save v1.4.21 on Mon Feb 1 15:31:31 2021 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -j DROP COMMIT # Completed on Mon Feb 1 15:31:31 2021 ``` 这个配置文件定义了两个表,一个是 nat 表,一个是 filter 表。nat 表中定义了一个 PREROUTING 链,用于将所有目标端口为 80 的 TCP 流量重定向到端口 8080。filter 表中定义了几条规则,用于允许一些特定的流量通过,并且将所有其他流量丢弃。 在编辑 iptables 配置文件时,你需要非常小心,确保语法正确且规则适用于你的网络环境。如果你不确定如何编写 iptables 规则,好先学习一些 iptables 的基础知识,或者请专业人士帮助你编写规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值