当前位置: 首页 > news >正文

Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

Linux网络相关

1、yum install net-tools

2、重启网卡

[root@centos7 ~]# ifdown eno16777736 && ifup eno16777736

3、新增虚拟IP

cp ifcfg-eno16777736 ifcfg-eno16777736\:0

vi ifcfg-eno16777736:0

TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=eno16777736:0

UUID=bb3b3feb-b209-4e36-ba0f-6022977c84d0

DEVICE=eno16777736:0

ONBOOT=yes

IPADDR=192.168.100.105

NETWORK=255.255.255.0

GATEWAY=192.168.100.1

DNS1=114.114.114.114

ifdown eno16777736 && ifup eno16777736

再次查看ifconfig -a;多了一个虚拟网卡


4、mii-tool查看是否连接网线

[root@centos7 ~]# mii-tool eno16777736

eno16777736: negotiated 1000baseT-FD flow-control, link ok


5、更改主机名

[root@centos7 ~]# hostnamectl set-hostname test-7

[root@centos7 ~]# bash

[root@test-7 ~]# hostname

test-7

配置文件:

[root@test-7 ~]# cat  /etc/hostname 

test-7


firewalld和netfilter

1、永久关闭selinux

[root@test-7 ~]# vi /etc/selinux/config 



# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled


临时关闭

[root@test-7 ~]# setenforce 0

setenforce: SELinux is disabled


查看是否关闭

[root@test-7 ~]# getenforce 

Disabled


开机不启动

[root@test-7 ~]# systemctl disable firewalld

关闭防火墙

[root@test-7 ~]# systemctl stop firewalld

安装iptables工具,名称是netfil

[root@test-7 ~]# yum install -y iptables-services


iptables和netfilter的关系:

Iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。


iptables传输数据包的过程

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。


8edfc7fefc6608c725a8175312efa372.png-wh_


规则表:

1.filter表——三个链:INPUT、FORWARD、OUTPUT
作用:过滤数据包  内核模块:iptables_filter.
2.Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat

3、Mangle表  4、Raw表 5、security用的不多,暂时不考虑


数据包流向与netfilter的5个链

 PREROUTING:数据包进入路由表之前

 INPUT:通过路由表后目的地为本机

 FORWARD:通过路由表后,目的地不为本机

 OUTPUT:由本机产生,向外发出

 POSTROUTING:发送到网卡接口之前




iptables语法

查看规则

[root@test-7 ~]# iptables -nvL

配置文件保存:

[root@test-7 ~]# cat /etc/sysconfig/iptables


清空规则(需要保存配置文件信息才清空)

[root@test-7 ~]# iptables -F

[root@test-7 ~]# service iptables save


可以把计数器清零:

[root@test-7 ~]# iptables -Z


-A:add 增加一个input链

-s:源端口

-p:指导tcp/udp

--sport:

-d:目标IP

--dport: 目标端口

-j DROP拒绝  ACCEPT:接受 

iptables -A INPUT -s 192.168.100.102 -p tcp --sport 1234 -d 192.168.100.100 --dport 80 -j DROP


-I:会在iptables的配置文件中第一个写入,即优先第一个排序执行

iptables -I INPUT -p tcp --dport 9889 -j DROP


产生一个序号,可以根据这个序号删除对应的规则

[root@test-7 ~]# iptables -nvL --line-numbers

Chain INPUT (policy ACCEPT 119 packets, 9078 bytes)

num   pkts bytes target     prot opt in     out     source               destination         

1        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80


Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)

num   pkts bytes target     prot opt in     out     source               destination         


Chain OUTPUT (policy ACCEPT 81 packets, 8932 bytes)

num   pkts bytes target     prot opt in     out     source               destination  


删除规则:

[root@test-7 ~]# iptables -D INPUT 1


全部禁用端口,不能用以下命令

[root@test-7 ~]# iptables -P INPUT DROP











本文转自方向对了,就不怕路远了!51CTO博客,原文链接:http://blog.51cto.com/jacksoner/1977640 ,如需转载请自行联系原作者






相关文章:

  • 图的操作
  • linux命令:编译安装软件包(举例安装tengine nginx)
  • 总结之:CentOS 6.5 HTTPD服务的全面解读及配置详解(1)
  • 什么是内存(一):存储器层次结构
  • 我经常使用的DOS命令參考
  • IE8 默认以Web Standards模式显示网页 全面遵循Web标准
  • 用For循环加cat按顺序合并文件
  • 完美搞定《DOCKER IN ACTION》第二章示例
  • webservice 原理
  • 检查点(Checkpoint)速度控制参数
  • grep
  • CentOS6.6+Puppet3.7.4分布式部署Nagios监控系统
  • SCVMM2012SP1异构虚拟化ID 22723问题解决
  • 时空日期审核错误修正
  • 一个java写的弹球小游戏
  • __proto__ 和 prototype的关系
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • es6
  • Git的一些常用操作
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JavaScript设计模式与开发实践系列之策略模式
  • JavaScript异步流程控制的前世今生
  • Linux快速复制或删除大量小文件
  • MySQL数据库运维之数据恢复
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 动态规划入门(以爬楼梯为例)
  • 前端之Sass/Scss实战笔记
  • 系统认识JavaScript正则表达式
  • 一文看透浏览器架构
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #大学#套接字
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (12)目标检测_SSD基于pytorch搭建代码
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (zt)最盛行的警世狂言(爆笑)
  • (待修改)PyG安装步骤
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (九十四)函数和二维数组
  • (转)大型网站架构演变和知识体系
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .NET NPOI导出Excel详解
  • .net开发时的诡异问题,button的onclick事件无效
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • [ C++ ] STL_list 使用及其模拟实现
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [20170705]diff比较执行结果的内容.txt
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [C++] new和delete
  • [C++进阶篇]STL中vector的使用