首页 > 其他分享 >网络防火墙之自定义chain

网络防火墙之自定义chain

时间:2024-08-29 08:57:00浏览次数:14  
标签:自定义 chain -- 0.0 防火墙 ACCEPT firewall root

网络防火墙

自定义链 链管理:   -N:new, 自定义一条新的规则链   -X:delete,删除自定义的空的规则链   -P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:     ACCEPT:接受     DROP:丢弃   -E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除   iptables/netfilter网络防火墙:   (1) 充当网关   (2) 使用filter表的FORWARD链 注意的问题:   (1) 请求-响应报文均会经由FORWARD链,要注意规则的方向性   (2) 如果要启用conntrack机制,建议将双方向的状态为ESTABLISHED的报文直接放行   准备: firewall:开启ip_forward功能   [root@firewall ~]#vim /etc/sysctl.conf   net.ipv4.ip_forward = 1   [root@firewall ~]#sysctl -p   [root@firewall ~]#sysctl -a firewall开启转发功能后,10.0.0.108能互相ping通192.168.37.122     示例:  

 

 场景:把对外访问的策略配置在自定义链中:

1、新建链,专用添加访问外网策略

1 [root@firewall-121 ~]# iptables -N TOINTERNET
2 [root@firewall ~]# iptables -vnL --line-numbers
3 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
4 num   pkts bytes target     prot opt in     out     source               destination         
5 1        6   394 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.0.0.108           tcp dpt:80
6 2       22  2089 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
7 3      105  6996 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
8 
9 Chain TOINTERNET (0 references)
View Code

2、在新链中添加策略

1 [root@firewall-121 ~]# iptables -A TOINTERNET -s 10.0.0.108 -p tcp --dport 80 -j ACCEPT
2 [root@firewall-121 ~]# iptables -A TOINTERNET -s 10.0.0.108 -p icmp  --icmp-type 8  -j ACCEPT
View Code

3、把新链关联到FORWARD链中

 1 [root@firewall-121 ~]# iptables -I FORWARD 1 -j TOINTERNET
 2 [root@firewall-121 ~]# iptables -vnL --line-numbers
 3 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 4 num   pkts bytes target     prot opt in     out     source               destination         
 5 1       26  2246 TOINTERNET  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
 6 2        6   394 ACCEPT     tcp  --  *      *       0.0.0.0/0            10.0.0.108           tcp dpt:80
 7 3       33  3287 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 8 4      106  7056 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
 9 
10 Chain TOINTERNET (1 references)
11 num   pkts bytes target     prot opt in     out     source               destination         
12 1       12   796 ACCEPT     tcp  --  *      *       10.0.0.108           0.0.0.0/0            tcp dpt:80
13 2        3   252 ACCEPT     icmp --  *      *       10.0.0.108           0.0.0.0/0            icmptype 8
View Code

4、验证新chain策略有效性

1 [root@CentOS7-108 ~]# curl 192.168.37.122
2 internet server
3 [root@CentOS7-108 ~]# ping 192.168.37.122
4 64 bytes from 192.168.37.122: icmp_seq=1 ttl=63 time=0.551 ms
View Code

标签:自定义,chain,--,0.0,防火墙,ACCEPT,firewall,root
From: https://www.cnblogs.com/cnblogsfc/p/14181749.html

相关文章

  • 网络防火墙之REDIRECT
    网络防火墙REDIRECT:NAT表可用于:PREROUTINGOUTPUT自定义链通过改变目标IP和端口,将接受的包转发至不同端口--to-portsport[-port] 准备:firewall:开启ip_forward功能[root@firewall~]#vim/etc/sysctl.confnet.ipv4.ip_forward=1......
  • 网络防火墙之DNAT
    网络防火墙NATNAT:networkaddresstranslationPREROUTING,INPUT,OUTPUT,POSTROUTING请求报文:修改源/目标IP,由定义如何修改响应报文:修改源/目标IP,根据跟踪机制自动实现DNAT:destinationNATPREROUTING,OUTPUT把本地网络中的主机上的某服务开放给外部网络......
  • Java-List结合ComableFuture自定义线程池的工具类
    为了结合CompletableFuture处理列表中的数据,并利用自定义线程池来并行处理这些元素,我们可以创建一个工具类ListCompletableFutureUtil,它包含一个静态方法processListConcurrently,该方法接收一个列表、一个处理每个元素的函数以及一个自定义线程池,并利用CompletableFutur......
  • 洛雪音乐限定复活 - 自定义音源
    洛雪音乐之前因为被发了绿师函所以软件本身不再提供各大平台的接口,但是保留了自定义音源的功能,目前还能支持播放缓存下载功能。感谢sixyin为广大网友做出的贡献。下面简单介绍一下使用方法:Step1准备文件下载并安装洛雪音乐(lx-music-desktop)[官方页面]|[下载链接]下......
  • go 结构体切片自定义排序
    常见类型的默认实现gosort包默认支持int(sort.Ints(x[]int))、float64s(sort.Float64s(x[]float64))、string(sort.Strings(x[]string))从小到大排序,反序使用类似于sort.Sort(sort.Reverse(sort.Ints(x[]int)))的方式。结构体切片的自定义实现packagemainimport( "fmt" "s......
  • IEnumrable接口 GetEnumerator方法 foreach 遍历 自定义 迭代器
    **能用foreach遍历访问的对象需要实现什么接口或声明什么方法**要使用foreach循环,对象必须实现IEnumerable接口或者声明GetEnumerator方法。解释IEnumerable接口:这个接口定义了一个名为GetEnumerator的方法,该方法返回一个枚举器,允许客户端代码逐个访问集合......
  • CI3自定义类库,并传参
    1、创建类文件 2、构造函数中使用数组形参,接收传递参数classHehe{//------------------------------------------------------------------------publicfunction__construct($config=array()){p($config);}//-------------------------------......
  • CAS server如何自定义Controller控制器
    CASserver如何自定义Controller控制器在实际开发过程中,CASServer4.0.0服务端提供了登录、认证等功能,但是我们希望加入更多的自定义功能,如自定义第三方登录服务等功能。增加一个Controller类控制器以及修改部分配置来完成CASServer4.0.0自定义Controller扩展,废话就不多说了,......
  • vxe-grid expandContent自定义展开的高度,以及展开的内容不要多于父vxe-grid会出现水平
    1、先上一张图,展示下效果:VxeTablev4.6默认是自适应高度的,也就是说我们只要指定展开的内容的最小高度就可以了。这样就可以保证展开的高度不会来回切换,并且我们可以限制容器里的内容的高度来实现。<stylelang="less"scoped>.sub-table{min-height:350px;......
  • linux中,解决使用sudo时,自定义path路径不生效的问题
    问题当我们在非root用户下,需要使用root权限的时候,通常在前面加sudo就可以了但是,今天遇到了一个小问题,就是我明明已经配置了go的bin目录在PATH变量中,还是配置在/etc/profile中,在root用户下,是可以执行go命令的按理说,用sudogo应该也是没问题的但是,我发现,当我......