47 | Linux中iptables规则开机自启动

导读:本篇文章讲解 47 | Linux中iptables规则开机自启动,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1 ubuntu

1.1 规则

sudo iptables -A INPUT -p tcp --dport 3006 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 3306 -j REJECT

1.2 保存到/etc/iptables.rules文件中

sudo iptables-save > /etc/iptables.rules

1.3 自启动脚本

1.3.1 方式一

在 /etc/network/if-pre-up.d/中创建ip_rules.sh,权限为755
在其中添加:

#!/bin/bash
iptables-restore < /etc/iptables.rules

1.3.2 方式二

在/etc/rc.local里添加上面这段文件。权限为755。重启测试。

#!/bin/bash
iptables-restore < /etc/iptables.rules

2 centos

2.1 禁用防火墙

# 停止 firewalld
systemctl stop firewalld
# 禁用 firewalld
systemctl disable firewalld

2.2 安装 iptables

# 安装iptables
yum -y install iptables
# 安装iptables-services
yum -y install iptables-services
# 设置 iptables 开机启动
systemctl enable iptables

2.3 保存配置

# 开放 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 开放 21 端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
# 开放 80 端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 开放 443 端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许 ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
# 允许接受本机请求之后的返回数据 RELATED,为 FTP 设置的
iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT
# 其他入站一律丢弃
iptables -P INPUT DROP
# 设置路由转发
# 10.8.1.0/24 网段可访问所有
iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -j MASQUERADE
# 只允许 10.8.2.0/24 网段访问 192.168.2.66
iptables -t nat -A POSTROUTING -s 10.8.2.0/24 -d 192.168.2.66/32 -j MASQUERADE

2.4 保存上述所有配置

service iptables save

注意:iptables 安装后会生成 /etc/sysconfig/iptables 文件,我们修改的配置会保存到该文件中。

# Generated by iptables-save v1.4.21 on Thu Jun 23 22:29:50 2022
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.8.1.0/24 -j MASQUERADE
-A POSTROUTING -s 10.8.2.0/24 -d 192.168.2.66/32 -j MASQUERADE
COMMIT
# Completed on Thu Jun 23 22:29:50 2022
# Generated by iptables-save v1.4.21 on Thu Jun 23 22:29:50 2022
*filter
:INPUT DROP [10:2341]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [54:7208]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Thu Jun 23 22:29:50 2022

注意:所有转发需保持 ACCEPT 状态,否则会出现 openvpn* 能够正常连接,但是无法 ping 通内网其他机器的问题**

iptables -nL # 确保以下状态

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79891.html

(1)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!