【博客621】iptables -J动作总结
创始人
2024-05-26 04:49:15
0

iptables -J动作总结

1、iptables常见动作

  • ACCEPT
  • DROP
  • REJECT
  • LOG
  • SNAT
  • DNAT
  • MASQUERADE
  • REDIRECT

2、iptables常见动作用法

2-1、ACCEPT:

作用:用于接收匹配的流量,使得流量继续往后面的规则和链路去匹配

2-2、DROP

作用:用于丢弃匹配的流量,使得流量不再往后面的规则和链路去匹配

2-3、REJECT

作用:用于拒绝匹配的流量,同时回复拒绝的原因,一般用于拒绝且需要设置提示信息的场景,当对方被拒绝时,会提示对方为什么被拒绝。

REJECT动作的常用选项为–reject-with:

  • icmp-net-unreachable

  • icmp-host-unreachable

  • icmp-port-unreachable,

  • icmp-proto-unreachable

  • icmp-net-prohibited

  • icmp-host-pro-hibited

  • icmp-admin-prohibited

  • tcp-reset

当不设置任何值时,默认值为icmp-port-unreachable。

2-4、LOG

作用:可以将符合条件的报文的相关信息记录到日志中,但当前报文具体是被”接受”,还是被”拒绝”,都由后面的规则控制。LOG动作只负责记录匹配到的报文的相关信息,不负责对报文的其他处理,如果想要对报文进行进一步的处理,可以在之后设置具体规则,进行进一步的处理。

查看iptables LOG日志:

LOG动作会将报文的相关信息记录在/var/log/message文件中,当然,我们也可以将相关信息记录在指定的文件中,以防止iptables的相关信息与其他日志信息相混淆,修改/etc/rsyslog.conf文件(或者/etc/syslog.conf),在rsyslog配置文件中添加如下配置即可:

#vim /etc/rsyslog.conf
kern.warning /var/log/iptables.log

加入上述配置后,报文的相关信息将会被记录到/var/log/iptables.log文件中。
完成上述配置后,重启rsyslog服务(或者syslogd):service rsyslog restart

LOG动作也有自己的选项,常用选项如下:

  • –log-level选项可以指定记录日志的日志级别,可用级别有:emerg,alert,crit,error,warning,notice,info,debug。

  • –log-prefix选项可以给记录到的相关信息添加”标签”之类的信息,以便区分各种记录到的报文信息,方便在分析时进行过滤。

2-5、SNAT

作用:网络内部的主机可以借助SNAT隐藏自己的IP地址,同时还能够共享合法的公网IP,让局域网内的多台主机共享公网IP访问互联网。

2-6、DNAT

作用:只有一个公网IP,但内网中却有很多服务器提供各种服务,我们想要通过公网访问这些服务使用DNAT即可。利用DNAT,将客户端发送过来的报文的目标地址与端口号做了映射,将访问服务的报文转发到了内网中特定服务

2-7、MASQUERADE

作用:SNAT,也就是源地址转换。当我们对外每次分配的IP地址往往不同,不会长期分给我们一个固定的IP地址,如果这时,想要让内网主机共享公网IP,就会很麻烦,因为每次IP地址发生变化以后,我们都要重新配置SNAT规则。通过MASQUERADE即可解决这个问题,MASQUERADE会动态的将源地址转换为可用的IP地址,其实与SNAT实现的功能完全一致,都是修改源地址,只不过SNAT需要指明将报文的源地址改为哪个IP,而MASQUERADE则不用指定明确的IP,会动态的将报文的源地址修改为指定网卡上可用的IP地址。可以把MASQUERADE理解为动态的、自动化的SNAT,如果没有动态SNAT的需求,没有必要使用MASQUERADE,因为SNAT更加高效。

2-8、REDIRECT

作用:使用REDIRECT动作可以在本机上进行端口映射

比如,将本机的80端口映射到本机的8080端口上

iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080

3、注意点

  • 如果想要NAT功能能够正常使用,需要开启Linux主机的核心转发功能:

    echo 1 > /proc/sys/net/ipv4/ip_forward

上一篇:RuoYi-Vue部署(Nginx+Tomcat)

下一篇:SpringWeb

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...