Linux网络/firewalld和netfilter/netfilter/iptables语法

为什么80%的码农都做不了架构师?>>>   hot3.png

linux网络相关

查看网卡网络信息

ifconfig 命令查看网卡网络信息,比如ip、网关、子网掩码等,但是安装centos7的版本或者某些未知原因,此命令提示找不到,我们可以使用Yum安装:

yum install -y net-tools

使用 ifconfig 命令查看

ifconfig

选项:

  • a : 显示包含因为神奇原因挂掉的网卡
ifconfig -a

或者某些时候我们也可以使用 ** ip add ** 命令来查看信息,实际比较还是觉得ifconfig命令显示的清楚一点。

ip add

重启某个指定网卡(ifdown表示关闭某网卡,ifup表示启用某网卡)

ifdown ens33 ; ifup ens33 #第1种方式
ifdown ens33 && ifup ensss #第2种方式

由于使用远程登录,所以不建议单独使用** ifdown **命令,至于为什么要重启某网卡而不是重启服务呢,因为假如你只修改了此网卡的部分信息,不想直接重启服务影响其他网卡的使用,所以可以 **ifdown **和 **ifup **结合使用表示重启;

设置虚拟网卡

1.进入网卡配置文件目录

[root@yolks1 ~]# cd /etc/sysconfig/network-scripts/

2拷贝文件当前ens33网卡配置文件

[root@yolks1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 #前面的右斜杠表示脱义冒号

3.编辑新复制的网卡配置文件:ifcfg-ens33:1

vim ifcfg-ens33:1

修改以下标注的地方,删除掉DNS和GATEWAY所在的行

4.重启 ** dns33 ** 网卡

[root@yolks1 network-scripts]# ifdown ens33 && ifup ens33
成功断开设备 'ens33'。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)

5.** ifconfig ** 查看新配置的网卡信息

6.测试本地能不能ping通虚拟网卡

查看网卡是否连接

1.mii-tool 命令如下:

[root@yolks1 network-scripts]# mii-tool ens33:1
ens33:1: negotiated 1000baseT-FD flow-control, link ok

判断输出的是否是** link ok** 如果是,则说明网络连接畅通无误;如果输出的是** no link **则表示网卡没连接;

2.如果上面的 mii-tool 执行提示找不到,也可以使用** ethtool 网卡名称 **来查看结果的最后一行 **Link detected **是否是 yes 或者是 ** no ** 来表示网卡连接是否正常

设置主机名称

hostnamectl set-hostname new-hostname

修改之后需要重新连接即可看到变化;

修改DNS地址

DNS配置文件路径 : /etc/resolv.conf

[root@yolks-001 ~]# cat /etc/resolv.conf #查看当前dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
[root@yolks-001 ~]# vi !$
vi /etc/resolv.conf #编辑并添加新的一行nameserver 8.8.8.8
[root@yolks-001 ~]# cat /etc/resolv.conf #再次查看新的dns配置
# Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8

但是要知道编辑上面此文件保存dns的话是临时的,永久保存的话直接修改 **/etc/sysconfig/network-scripts/ifcfg-ens33 **添加DNS纪录即可;

修改host改变本地解析

修改 /etc/hosts 文件,添加一行新的解析

测试ping,显示为修改的配置ip,并且只有本机才会生效

hosts文件格式很简单,注意以下几点;

  • 一个ip后面可以跟多个域名,可以是几十个甚至上百个;
  • 每一行只能有一个ip,也就是说一个域名不能对应多个ip;
  • 如果有多行中出现相同的域名(对应的ip不一样),就会按最前面出现的记录来解析

firewalld和netfilter

1.SELinux是linux系统特有的安全机制。因为这种机制的限制太多,配置也繁琐,所以几乎没有人真正的应用它,安装完系统我们一般都把SELinux关闭,以免引起不必要的麻烦。

临时关闭:

setenforce 0

永久关闭:

vim /etc/selinux/config #编辑此文件

修改 SELINUX=disabled,重启机器即可

查看 SELINUX 状态:

[root@yolks-001 ~]# getenforce
Disabled

2.关系图如下:

查看centos版本

[root@yolks-001 ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

在centos7上关闭firewalld开启netfilter

1.关闭firewalld

[root@yolks-001 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

2.停止firewalld

[root@yolks-001 ~]# systemctl stop firewalld

3.yum安装iptables工具

yum install -y iptables-services

4.让iptables服务开机启动

[root@yolks-001 ~]# systemctl enable iptables
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

5.开启iptables服务

[root@yolks-001 ~]# systemctl start iptables

6.使用iptables查看默认规则

iptables -nvL

netfilter5表5链介绍

netfilter的5个表

  • filter:表主要用于过滤包,是系统预设的表,该表内建3个链:INPUTOUTPUT以及FORWARDINPUT链作用于进入本机的包,OUTPUT链作用于本机送出的包,FORWARD链作用于那些跟本机无关的包。
  • nat:表主要用于网络地址转换,同样也有3个链,PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,OUTPUT链的作用是改变本地产生的包的目的地址,POSTROUTING链的作用是在包即将离开防火墙时改变其源地址。
  • mangle:表主要用于给数据包做标记,然后根据标记去操作相应的包。
  • raw:表可以实现不追踪数据包做标记,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw表来指定某些端口的包不被追踪。
  • security:表在Centos6里是没有的,它用于强制访问控制(MAC)的网络规则。

netfilter的5个链

  • PREROUTING:数据包进入路由表之前
  • INPUT:通过路由表后目的地为本机
  • FORWARD:通过路由表后,目的地不为本机
  • OUTPUT:由本机产生,向外转发
  • POSTROUTING:发送到网卡接口之前

参考图

图片来源于Askz的博客

图片来源于Askz的博客

iptables语法

1.查看iptables默认规则配置文件:

cat /etc/sysconfig/iptables

2.查看iptables默认规则:

 iptables -nvL

3.保存iptables规则(当前规则,保存到配置文件):

service iptables save

4.清空iptables规则:

iptables -F

5.重启iptables规则

service iptables restart

6.查看指定表的规则

iptables -t nat -nvL

7.清空表的计数器

iptables -Z

8.如果不加-t选项则默认的表为fliter表,常用的选项如下:

  • -A/-D:表示增加/删除一条规则
  • -I:表示插入一条规则其实效果跟-A一样
  • -p:表示指定协议,可以是tcp、udp或者icmp
  • --dport:跟-p一起使用,表示指定目标端口
  • --sport:跟=p一起使用,表示指定源端口
  • --line-number:显示规则的行号
  • -s:表示指定源IP(可以是一个IP段)
  • -d:表示指定目的IP(可以是一个IP段)
  • -j:后面跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包
  • -i:表示指定网卡

拓展

selinux教程

selinux pdf电子书

转载于:https://my.oschina.net/yolks/blog/1845624

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome开发者工具详解(4)-Profiles面板

Chrome开发者工具详解(4)-Profiles面板 如果上篇中的Timeline面板所提供的信息不能满足你的要求,你可以使用Profiles面板,利用这个面板你可以追踪网页程序的内存泄漏问题,进一步提升程序的JavaScript执行性能。 概述 当前使用的Chrome最新版为…

etcd raft library设计原理和使用

早在2013年11月份,在raft论文还只能在网上下载到草稿版时,我曾经写过一篇blog对其进行简要分析。4年过去了,各种raft协议的讲解铺天盖地,raft也确实得到了广泛的应用。其中最知名的应用莫过于etcd。etcd将raft协议本身实现为一个l…

halcon通过点拟合圆形,鼠标选点

原图 源码 read_image (Image, 0.bmp) dev_clear_window () dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image)binary_threshold (Image, Region, max_separability, dark, UsedThreshold) connection (Region, ConnectedRegions) select_s…

JDBC事务--软件开发三层架构--ThreadLocal

JDBC事务--软件开发三层架构--ThreadLocal 一.JDBC事务 1.概述: 事务是指逻辑上的一组操作!这一组操作,通常认为是一个整体,不可拆分! 特点:同生共死;事务内的这一组操作要么全部成功,要么全部失败! 作用:保证逻辑操作的完整性,安全性! 2.使用(3种方式) 1)面向数据库,使用S…

LINUX多播编程

一.单播,广播和多播 1.单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需…

cas单点登录搭建

Cas Server下载:http://developer.jasig.org/cas/ Cas Client下载:http://developer.jasig.org/cas-clients/ 测试环境: jdk:java version "1.8.0_60" tomcat:apache-tomcat-7.0.65 mysql:mysql5…

新CIO:Mark Schwartz认为的领先IT

美国公民及移民服务局前任CIO,现任AWS企业战略师Mark Schwartz在伦敦举行的DevOps企业峰会上介绍了什么是领先的IT。\\Schwartz介绍说,老旧、传统的模型将业务和IT完全分开,他又提出了一种新的模型,在这种模型中,CIO担…

689D Magic Odd Square 奇数幻方

1 奇数阶幻方构造法 (1) 将1放在第一行中间一列; (2) 从2开始直到nn止各数依次按下列规则存放:按 45方向行走,向右上,即每一个数存放的行比前一个数的行数减1,列数加1 (3) 如果行列范围超出矩阵范围,则回绕。例如1在第…

Java单例的常见形式

2019独角兽企业重金招聘Python工程师标准>>> Java单例的常见形式 本文目的:总结Java中的单例模式 本文定位:学习笔记 学习过程记录,加深理解,便于回顾。也希望能给学习的同学一些灵感 一、非延迟加载单例类 public cla…

运动控制卡的基类函数与实现例子

基类 namespace MotionCardDll {public abstract class IMotionCard{public Int32 m_Mode;public Int32 m_BoardId;//Card 号public Int32 m_Card_name;public Int32 m_StartAxisID

U-Boot启动过程完全分析

1.1 U-Boot 工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能 硬件设备初始化 加载U-Boot第二阶段代码到RAM空间 设置好栈 跳转到第二阶段代码入口 (2&#x…

CJOJ 2171 火车站开饭店(树型动态规划)

CJOJ 2171 火车站开饭店(树型动态规划) Description 政府邀请了你在火车站开饭店,但不允许同时在两个相连的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有 50 个和它相连接的火车站。 告诉你每个火车站的利润&#…

JavaWeb总结(十五)

AJAX(Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)) AJAX的作用是什么? 在无需重新加载整个网页的情况下,能够更新部分网页的技术 是一种用于创建快速动态网页的技术 通过在后台与服务器进行…

工业相机基类与实现

基类 namespace Cameron {//相机参数public struct CamPara{public int DeviceID; //设备描述public string Name;public int WorkMode; //工作类型,0为连续模式,1为触发模式public float Expours

物联网技术周报第 143 期: Unity 3D 和 Arduino 打造虚拟现实飞行器

新闻 \\\\t《西门子、阿里云签约助力中国工业物联网发展》德国工业集团西门子和中国阿里巴巴集团旗下的云计算公司阿里云9日在柏林签署备忘录,共同推进中国工业物联网发展。根据备忘录内容,西门子和阿里云将发挥各自技术和行业优势&#xff…

不同平台下 sleep区别用法

应用程序&#xff1a; #include <syswait.h> usleep(n) //n微秒 Sleep&#xff08;n&#xff09;//n毫秒 sleep&#xff08;n&#xff09;//n秒 驱动程序&#xff1a; #include <linux/delay.h> mdelay(n) //微秒milliseconds 其实现 #ifdef notdef #define mdelay…

各视频、各音频之间格式任意玩弄(图文详解)

写在前面说的话 在这里&#xff0c;记录下来&#xff0c;是为了方便以后偶尔所制作所需和你们前来的浏览学习。 学会&#xff0c;玩弄一些视频和音频的软件&#xff0c;只有好处没有害处。同时&#xff0c;也不需很多时间&#xff0c;练练手罢了。也是方便自己所用吧&#xff0…

oracle 如何查看日志?

2019独角兽企业重金招聘Python工程师标准>>> Oracle日志查看一&#xff0e;Oracle日志的路径&#xff1a;登录&#xff1a;sqlplus "/as sysdba"查看路径&#xff1a;SQL> select * from v$logfile;SQL> select * from v$logfile;(#日志文件路径)二…

回归_英国酒精和香烟关系

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 数据统计分析联系:&#xff31;&#xff31;&#xff1a;&a…

C# ini文件读写函数

namespace Tools {class IniOperate{[DllImport("kernel32")]private static extern int GetPrivateProfileString(string section, string key,