iptables nfs+keepalived规则

文章介绍了iptables的基本用法,包括INPUT、OUTPUT和FORWARD三个规则链的默认策略及其调整。重点讲解了如何添加、删除和插入防火墙规则,以及如何改变默认的入站策略以提高安全性。此外,还提供了一些常见的iptables规则示例,如放行特定端口和服务,阻止特定连接等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iptables防火墙常见用法和修改默认配置
iptables是大多数Linux的默认防火墙服务花了点时间学习调整了一下。这里也做一下整理。
基本用法
使用以下命令可以看到现有的规则:

iptables -L
默认有三个分组(Chain,也可以叫规则链):

INPUT:入站规则(外部连入服务器本机)
OUTPUT:出战规则(服务器本机连接外部)
FORWARD:转发(流经本机的数据)
INPUT组的默认策略是ACCEPT,即外部进入服务器的连接默认都是放行(黑名单模式)。但是这样可能不太安全,改为进入连接默认为拒绝,然后手动放行部分允许的连接(白名单模式)比较好。

iptables 命令的常见用法是:

在尾部追加新规则

iptables -A 规则链名 [-i/o 网卡名] -p 协议名 [-s 源IP/源子网] [–sport 源端口] [-d 目标IP/目标子网] [–dport 目标端口] -j 动作

在指定位置插入一条新规则

iptables -I 规则链名 [链中的行号] [-i/o 网卡名] -p 协议名 [-s 源IP/源子网] [–sport 源端口] [-d 目标IP/目标子网] [–dport 目标端口] -j 动作

删除一条规则

iptables -D 规则链名 链中的行号

显示所有规则和行号

iptables -nL --line-number
方括号中的参数都表示可选,最后的“动作”有两个常用值:ACCEPT 表示允许(放行),DROP 表示丢弃(拒绝)。

以下是一些示例:

在INPUT链中第2条规则前加入,放行外部连接目标端口为3306的TCP协议连接

iptables -I 2 INPUT -p tcp --dport 3306 -j ACCEPT

在INPUT链中追加一条记录,允许外部来源为192.168.3.10的连接访问本机端口10500到10509端口(端口用冒号表示一段范围)

iptables -A INPUT -s 192.168.3.10 --dport 10500:10509 -j ACCEPT

阻止外部来源端口号为 12345、12346 的访问(只是示例的规则,应该没有实用性)

iptables -A INPUT --sport 12345,12346 -j DROP
iptables规则的生效顺序是从上往下的,插入时请留意规则的顺序。

修改默认入站策略
了解了基本用法后就可以动手调整了。首先要添加几条放行规则:

添加端口(SSH端口和HTTP服务的两个端口)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

允许本地回环接口(即允许本机访问本机)

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

允许已建立和相关的连接继续访问(不加上curl等程序不能正常访问外网)

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

放开DNS服务 否则ping等很多命令用不了

iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
到此正常的必要服务端口就添加好了。

不过此时外部ping服务器是不通的,还要继续添加两条

允许ping(icmp协议)

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
上条两条命令还有等效的写法:

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
最后修改INPUT组的默认规则为 DROP(不匹配规则的默认阻止)即可

iptables -P INPUT DROP
至于出站OUTPUT规则组默认的用ACCEPT规则即可,如有需要也可以自行调整。

保存规则
规则修改完后需要手动保存一下,否则iptables服务重启后修改的规则配置会丢失。

大多数配置了iptables服务的服务器已经设置好了规则保存路径,可以直接用以下命令保存:

service iptables save
如果iptables规则的保存和恢复是手动配置的,就需要用下列的命令导出和恢复了

导出保存规则到文件

iptables-save > 文件路径

从文件导入规则

iptables-restore < 文件路径
其他常见规则
这里也顺带整理了一下其他常用的规则,以供参考。

阻止非本地的访问(!表示"非"的意思,例如下述表示禁止外网访问 3456 端口)

iptables -A INPUT ! -s 127.0.0.1 -p tcp -m tcp --sport 3456 -j DROP

阻止外部ping服务器本机

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

禁止服务器访问外网邮件协议默认端口

iptables -A OUTPUT -p tcp -m tcp --dport 25 -j DROP
iptables -A OUTPUT -p udp -m udp --dport 25 -j DROP

nfs+iptables+ssh漏洞屏蔽 规则

iptables -A INPUT -p tcp --dport 8121 -j ACCEPT
iptables -A INPUT -p tcp --dport 8122 -j ACCEPT
iptables -A INPUT -p tcp --dport 8123 -j ACCEPT
iptables -A INPUT -p tcp --dport 8128 -j ACCEPT
iptables -A INPUT -p tcp --dport 7122 -j ACCEPT
iptables -A INPUT -p udp --dport 514 -j ACCEPT
iptables -A INPUT -p udp --dport 162 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 111 -j ACCEPT
iptables -A INPUT -s 172.22.6.12 -p tcp -m tcp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 172.22.6.12 -p udp -m udp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 9419 -j ACCEPT
iptables -A INPUT -p tcp --dport 9420 -j ACCEPT
iptables -A INPUT -p tcp --dport 9421 -j ACCEPT
iptables -A INPUT -p tcp --dport 9425 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p vrrp -j ACCEPT
iptables -P INPUT DROP
iptables -A INPUT -i eno1 -p vrrp -j ACCEPT
iptables -D INPUT -s -p tcp -m tcp --dport 30001:30004 -j ACCEPT
iptables -D INPUT -s -p udp -m udp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 172.22.6.13 -p tcp -m tcp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 172.22.6.13 -p udp -m udp --dport 30001:30004 -j ACCEPT
iptables -A INPUT -s 172.22.6.17 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 172.22.6.13 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -nL --line-number

源文:https://xyuxf.com/archives/2153

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值