iptables 学习总结--网络防火墙以及动作(六)

本文详细介绍了如何通过iptables配置网络防火墙,包括检查转发功能状态、设置基础与扩展动作、记录日志信息,并展示了如何实现地址伪装及重定向等高级功能。

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

网络防火墙

查看是否已经开启转发功能
0-未开启
1-已开启

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
0

查看转发链的规则

 iptables -nvL
 iptables -t filter -nvL FORWARD
[root@localhost ~]# iptables -t filter -I FORWARD -j ACCEPT
[root@localhost ~]# iptables -t filter -nvL FORWARD
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

动作

基础动作
ACCEPT
DROP

扩展动作
REJECT –reject-with
–reject-with 后面跟以上参数
88

[root@localhost ~]# iptables -t filter -I INPUT  -s 10.39.0.4 -j REJECT
[root@localhost ~]# iptables -t filter -nvL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       10.39.0.4            0.0.0.0/0            reject-with icmp-port-unreachable
  135  9596 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
[root@localhost ~]# iptables -t filter -nvxL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       0        0 REJECT     all  --  *      *       10.39.0.4            0.0.0.0/0            reject-with icmp-port-unreachable
     156    11112 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

LOG
主要是查看报文的相关属性

[root@localhost ~]# iptables -t filter -nvxL INPUT
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       7      488 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 LOG flags 0 level 4
       0        0 REJECT     all  --  *      *       10.39.0.4            0.0.0.0/0            reject-with icmp-port-unreachable
     256    18024 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0

把报文的日志信息重定向到指定文件

 vi /etc/rsyslog.conf
kern.warning /var/log/iptables.log
service rsyslog restart
[root@localhost ~]# iptables -t filter -I INPUT -p tcp --dport 22 -m state --state NEW -j LOG --log-prefix "demo-test-from-in-22"
[root@localhost ~]# iptables -t filter -nvxL INPUT
Chain INPUT (policy ACCEPT 43 packets, 5191 bytes)
    pkts      bytes target     prot opt in     out     source               destination
       1       64 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 state NEW LOG flags 0 level 4 prefix "demo-test-from-in-22"

这样就可以查看日志iptables的报文信息的日志了

登录

➜  github.com ssh root@192.168.1.61
root@192.168.1.61's password:
Last login: Sat Jun  2 13:59:36 2018 from 192.168.1.31
[root@localhost ~]#
cat /var/log/iptables.log | less
...
2018-06-02T18:22:14.422300+08:00 localhost kernel: demo-test-from-in-22IN=enp0s8 OUT= MAC=08:00:27:de:2d:c7:18:65:90:d4:3a:e7:08:00 SRC=192.168.1.31 DST=192.168.1.61 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=38288 DF PROTO=TCP SPT=59102 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0

SNAT –伪装源地址
DNAT–伪装目标地址
MASQUERATE–伪装
REDIRECT–重定向

参考:
网络防火墙
snat dnat

### iptables 防火墙常用命令及用法 #### 添加规则 要向 `iptables` 中添加新规则,可以使用 `-A` 参数指定链并附加规则。例如,在 INPUT 链中允许来自特定 IP 地址的流量: ```bash sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT ``` 这条命令会接受来自 `192.168.1.100` 的所有入站连接请求[^1]。 #### 插入规则 如果希望将一条新的规则插入到现有规则列表中的某个位置,则可利用 `-I` 参数加上该位置编号来实现这一点。比如把拒绝所有外部访问 Web 服务端口(假设为80)的新规放在INPUT链的第一位: ```bash sudo iptables -I INPUT 1 -p tcp --dport 80 -j DROP ``` 这将在输入链的第一个位置阻止针对TCP协议第80号目的端口的数据包通过防火墙过滤器。 #### 删除规则 对于不再需要保留的具体规则而言,可以通过两种方式将其移除:一是依据其确切表述;二是按照它所在链条里的顺序索引来操作。下面的例子展示了如何按序号删除OUTPUT表里第二条记录的方法: ```bash sudo iptables -D OUTPUT 2 ``` 此指令将会从输出链中彻底清除掉位于第二个槽位处设定好的策略配置项。 #### 查看当前规则集 为了查看目前生效于各个方向上的全部控制条例集合体——即所谓的“规则库”,只需简单执行如下所示的一串字符即可获得详尽无遗的信息反馈: ```bash sudo iptables -v -n ``` 上述命令提供了关于已加载至内核空间内的各类限定条件及其对应动作之间关系的一个全面概览图景,并且还附带了一些额外统计资料用于辅助理解整个体系结构的工作原理。 #### 清空规则 当想要一次性清零某张表格下辖的所有现存规定事项时,应当采用 `-F` 开关配合相应对象名称来进行批量处理作业活动。这里给出的是有关重置FORWARD链上一切既定方针政策为空白状态的操作指南说明文档片段摘录部分文字内容摘要概述总结提炼精华要点: ```bash sudo iptables -F FORWARD ``` 以上就是一些基本但非常实用有效的管理维护Linux操作系统自带软件定义网络防护机制的核心技能知识点介绍分享交流探讨学习参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值