iptables防火墙技术

linux防火墙功能是netfilter模块提供的
iptables是一个客户端,客户端是用来接收用户命令的

ipyables -nvL -t nat
n 数字显示 v 详细详细 L 列出规则
-t 指定要操作的表

iptables由表和链构成
具体的四表
filter表——过滤数据包 默认表
Nat表——用于网络地址转换(IP、端口)
Mangle表——修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表——决定数据包是否被状态跟踪机制处理

五链
INPUT:处理进入本机的数据包。
FORWARD:处理转发的数据包。
OUTPUT:处理从本机发出的数据包。
PREROUTING:在路由选择之前处理数据包。
POSTROUTING:在路由选择之后处理数据包。

添加规则
-A INPUT -s 192.168.0.123 -p tcp --dport 22 -j ACCEPT
mac规则
-A INPUT -m mac --mac-source mac地址 -p tcp --dport 22 -j ACCEPT
-m module 模块
-p 指定协议

-A INPUT -s 192.168.0.100 -j ACCEPT
命令行添加规则
iptables -t filter -A INPUT -s 192.168.0.123 -p tcp --dport 8080 -j ACCEPT
不加 -s 表示 任何
service iptables save 保存

ESTABLISHED

区域:
public 仅允许访本机sshd dhcp ping服务
trusted 允许任何访问

通过端口 ip 协议限制

iptables -t filter -A INPUT -s 192.168.1.120 -j DROP
-t 在 fiilter 表上添加
-A 添加规则 INNPUT 添加到input链 -j 丢弃

iptables -vnL --line-numbers 显示编号

Chain INPUT (policy ACCEPT 64 packets, 4994 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        1    84 DROP       all  --  *      *       101.201.116.250      0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 55 packets, 5970 bytes)
num   pkts bytes target     prot opt in     out     source               destination  

常用命令

删除规则。删除第一条
iptables -D INPUT 1   

修改规则。 REJECT 拒绝有回应
iptables -R INPUT 1 -s 101.0.0.0/24 -j  REJECT


```bash
指定协议
iptables  -A INPUT -s 192.168.1.128 -p icmp  -j REJECT

iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -A INPUT -j DROP
iptables -I INPUT -i lo -j ACCEPT


拒绝第一次握手,新连接不让连, --syn:用于匹配第一次握手, 相当于:--tcp-flags SYN,ACK,FIN,RST SYN
iptables -A INPUT -p tcp --syn -jREJECT


拒绝请求  --icmp-type 8
iptables -A INPUT -s 192.168.1.128  -p icmp --icmp-type 8 -j REJECT





multiport扩展,指定多个端口
iptables -A INPUT  -s 192.168.1.128  -p tcp  -m multiport --dports 443,80,22   -j REJECT





创建自定义链
iptables -N web_chain

iptables -A WEB_CHAIN -s 192.168.1.128 -p tcp --dport 6379 -j REJECT
iptables -A INPUT -j WEB_CHAIN   #内置链关联自定义链 




保存配置
iptables-save  > iptables.txt  


iptables -F 清空防火墙规则
iptables -X 删调自定义链

 iptables-restore < iptables.txt    当清空规则后,重新恢复

写到rc.local,开机自动加载
iptables-restore </root/iptables.txt


centos的iptables规则路径/etc/sysconfig/iptables-config

在 Ubuntu 20.04 中,iptables 的配置文件路径为 /etc/iptables/rules.v4 和 /etc/iptables/rules.v6,分别用于 IPv4 和 IPv6 的 iptables 规则配置。

IPv4 规则文件路径:/etc/iptables/rules.v4
IPv6 规则文件路径:/etc/iptables/rules.v6
您可以通过编辑这些文件来配置 iptables 防火墙规则。在文件中,您可以添加 iptables 规则,指定允许或拒绝特定的网络连接和数据包。




iptales A FORWARD  -s 10.0.0.0/24 ! -d 10.0.0.0/24 -m state --state NEW -j ACCEPT
-s 10.0.0.0/24:源IP地址为10.0.0.0/24网段。
! -d 10.0.0.0/24:目标IP地址不在10.0.0.0/24网段内。
-m state --state NEW:只针对新的连接。
-j ACCEPT:接受并允许该连接通过。


内网访问外网  SNAT   源地址转换,

外网服务内网  DNAT  目标地址转换,




用6.6.6.6的公网地址,公司配置

## 转发: REDIRECT

访问本机的8080端口转给80端口


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



iptables -A INPUT -i eth0 -p icmp --icmp-type Echo-Request -j DROP

这条规则的作用是禁止通过eth0接口进入的Ping请求,即阻止来自外部网络的Ping请求进入主机
--icmp-type Echo-Request:匹配ICMP类型为Echo-Request的数据包,即Ping请求。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值