使用iptables配置访问规则

需求:配置只能在局域网内访问本机(服务器),本机(服务器)不能访问外网。

禁止Filewalld开机启动

为了防止与iptables冲突,必须先禁止Filewalld开机启动。

  1. 连接CentOS7.9实例(注意:使用Xshell等工具连接会在配置规则中断开,建议直接VNC连接或服务器终端打开

  2. 执行如下命令,查看服务状态。
    systemctl status firewalld

  3. 系统显示类似如下,active字段表示服务处于运行状态,inactive字段表示服务处于关闭状态。
    在这里插入图片描述

  4. 当服务处于active状态,运行以下命令关闭Firewalld服务。
    systemctl stop firewalld

  5. 执行如下命令,禁止Filewalld开机启动。
    systemctl disable firewalld

安装iptables

执行如下命令,安装iptables。
yum install -y iptables-services

启动iptables并设置为开机启动

  1. 执行如下命令,启动iptables。
    systemctl start iptables

  2. 执行如下命令,查看iptables是否成功启动。
    systemctl status iptables

  3. 系统显示类似如下,说明iptables已经成功启动。
    在这里插入图片描述

  4. 执行如下命令,设置iptables开机启动。
    systemctl enable iptables.service

  5. 设置完成后,执行如下命令,重启实例验证配置。
    systemctl reboot

查看并修改iptables默认规则

执行iptables -L 或 iptables -L -n命令,查看iptables默认规则,发现在默认规则下,INTPUT链允许来自任何主机的访问。可以参考如下步骤修改默认规则。
如果之前已经设置过规则,建议执行如下命令,备份原有的iptables文件,避免之前设置的规则丢失。
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

首先,我们需要清空所有已经存在的iptables规则,然后设置默认策略为DROP,这样我们就可以开始设置我们自己的规则了。

  1. 清空所有已经存在的iptables规则:
    iptables -F
    iptables -X
    iptables -Z

  2. 设置默认策略为DROP:

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

  3. 允许来自于任何地方的回应和错误包通过:

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

  4. 允许本机访问本机:

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT

  5. 允许局域网访问:

    iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
    iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
    请根据实际情况替换192.168.1.0/24为你的局域网网段。

  6. 允许外网通过22端口访问本机:(不需要可不执行此步骤,如需要放开别的特定端口也是这个命令

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

  7. 保存iptables规则:

    service iptables save

  8. 重启iptables服务:
    service iptables restart

以上就是在Linux下设置只能局域网访问,不能外网访问,外网只放开22端口的方法。



删除规则

#查看开放了那些入站规则,并且显示行号
iptables -L INPUT --line-numbers
#删除指定一行的规则
iptables -D INPUT 1
#出站规则也差不多
iptables -L OUTPUT–line-numbers
#删除指定一行的规则
iptables -D OUTPUT 1

关闭iptables,启动firewalld

关闭iptables
systemctl stop iptables
查看状态
systemctl status iptables
启动firewalld
systemctl start firewalld
查看状态
systemctl status firewalld

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仓库管理设计员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值