文档章节

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

蛋黄_Yolks
 蛋黄_Yolks
发布于 07/13 01:10
字数 1766
阅读 14
收藏 11

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电子书

© 著作权归作者所有

蛋黄_Yolks
粉丝 8
博文 98
码字总数 109902
作品 0
通州
10.11-14 Linux网络相关, firewalld,netfilter,iptables语法

linux网络相关 • ifconfig查看网卡ip(yum install net-tools) • ifup ens33/ifdown ens33 • 设定虚拟网卡ens33:1 • mii-tool ens33 查看网卡是否连接 • ethtool ens33 也可以查看网卡...

Linux_老吴
07/17
0
0
ipconfig、selinux、netfilter、iptables、netfilter5表5链

10.11 Linux网络相关 ifconfig 查看网卡ip(yum install net-tools) ip add ifconfig -a 可以查看到所有的网卡信息 ifup ens33/ifdown ens33 ifdown ens33 && ifup ens33可以down掉网卡,再重......

派派菠菜
05/09
0
0
Linux防火墙之FirewallD简介

FirewallD提供了支持网络/防火墙区域定义网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4,IPv6防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或...

柳哥
2015/05/12
0
0
firewalld和iptables 详解

在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。 firewalld跟iptables比起来至少有两大好处:...

ugali
06/26
0
0
iptables规则备份恢复-firewalld关于zone和service

iptables规则备份恢复: service iptables save #把规则保存到/etc/sysconfig/iptables文件中 iptables-save > /tmp/my.ipt #把规则备份到my.ipt文件中 iptables-restore < /tmp/my.ipt #把m......

ZHENG-JY
07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Oracle return exit continue

常在循环体中看到下面3种语句: return exit continue 举例说明 啥都没有 -- none begin for i in 1 .. 10 loop if i < 5 then dbms_output.put_line('i < 5, i = ' || to_char......

taadis
今天
2
0
JSONObject 转换时出错 InvocationTargetException

JSONObject 转换时出错java.lang.reflect.InvocationTargetException 一时看不出来是什么问题。 挺奇怪的。 百度参考了一下这个 网页的解决方案 说是类型不对,空? 仔细查看代码,果然是有一...

之渊
今天
3
0
no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
今天
3
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
今天
4
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部