美文网首页
irewalld和netfilter、netfilter5表5链

irewalld和netfilter、netfilter5表5链

作者: hch004 | 来源:发表于2018-01-27 08:55 被阅读0次

    Linux网络相关

    ifconfig命令查看网卡IP

    刚接触linux系统开始的时候我们学习到查看网卡IP方式是使用ip addr,而ifconfig命令和ip addr命令的结果是相似的,如果系统里没有ifconfig命令,安装即可;

    [root@kvm ~]# yum install -y net-tools

    在linux下修改ip需要进入到/etc/sysconfig/network-scripts/目录下面修改相关的网卡文件即可,比如;

    [root@kvm ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

    在linux上有多个网卡,而你只想重启某个网卡的时候,可以使用以下操作;

    [root@kvm ~]# ifdown ens33; ifup ens33

    成功断开设备 'ens33'。

    连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)

    [root@kvm ~]# ifdown ens33 && ifup ens33

    成功断开设备 'ens33'。

    连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/6)

    由于是远程登录的,所以在使用ifdown的时候需要谨慎,不要单独使用ifdown

    给一个网卡设定多个ip

    [root@kvm ~]# cd /etc/sysconfig/network-scripts/ //先到网卡配置文件的目录下

    [root@kvm  network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:1 //拷贝一个ens33文件名并重命名为ens33:1 这里用到反斜杠使用脱义

    然后开始编辑ens33:1文件即可,修改NAMEDEVICE 为ens33:1 设定一个IPADDR地址保存并退出,重启网卡即可

    这个时候在ifconfig查看就可以看到多了一个网卡

    查看网卡连接状态

    [root@localhost network-scripts]# mii-tool ens33

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

    这里显示link ok,就说明网卡为连接状态,如果显示no link,说明网卡存在坏了或者没有连接网线的情况,除了这个mii-tool命令外还有一个命令也可以查看;

    [root@localhost network-scripts]# ethtool ens33

    如果网卡没有连接成功,最后面一行link detected显示为no

    更改主机名

    使用hostname命令可以查看主机名,hostname命令后面跟一个自定义的名字则是临时修改主机名,重启后无效

    [root@localhost ~]# hostname

    localhost.localdomain

    [root@localhost ~]# hostname hch

    想要永久改主机名,执行以下命令修改

    [root@localhost ~]# hostnamectl set-hostname hch

    [root@localhost ~]# bash

    修改后重新登录即可看到变化

    设置DNS

    在linux下设置DNS非常简单,只要把DNS地址写入配置文件即可

    [root@hch ~]# cat /etc/resolv.conf

    # Generated by NetworkManager

    nameserver 8.8.8.8

    nameserver 119.29.29.29

    在linux下还有一个特殊文件/etc/hosts也能解析域名

    [root@hch ~]# cat /etc/hosts

    127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

    ::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

    使用Vim编辑该文件,增加一行10.2.33.71 www.baidu.com,保存后再ping以下www.baidu.com就会连接到10.2.33.71

    [root@hch ~]# vi /etc/hosts

    [root@hch ~]# ping www.baidu.com

    PING www.baidu.com (10.2.33.71) 56(84) bytes of data.

    64 bytes from www.baidu.com (10.2.33.71): icmp_seq=1 ttl=64 time=0.015 ms

    64 bytes from www.baidu.com (10.2.33.71): icmp_seq=2 ttl=64 time=0.060 ms

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

    * 一个ip后面可以跟多个域名,可以是几十个甚至上百个;

    * 每一行只能有一个ip,也就是说一个域名不能对应多个ip;

    * 如果有多行中出现相同的域名(对应的ip不一样),就会按最前面出现的记录来解析

    firewalld和netfilter

    linux的防火墙

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

    [root@hch ~]# setenforce 0

    永久关闭的方法,需要更改配置文件/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled保存并退出即可,重启系统后生效,此处切记不要改作地方以免照成系统无法开机。

    [root@hch ~]#  vi /etc/selinux/config

    [root@hch ~]#  getenforce //修改好重启系统后可以使用该命令查看selinux防火墙状态

    Disabled

    netfilter是在Centos7之前使用的防火墙,Centos7使用的是firewalld,由于大部分公司还是使用Centos6的情况,我们可以先通过之前版本的iptables了解和学习,firewalldnetfilter 使用的命令同样支持的,意味这两者兼容。

    因此我们先关闭firewalld后再开启netfilter ,操作如下;

    [root@hch ~]#   systemctl stop firewalld //关闭firewalld服务

    [root@hch ~]#   systemctl disable firewalld //禁止firewalld服务开机启动

    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

    Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

    [root@hch ~]#   yum install -y iptables-services //安装iptables-services ,使之前的版本可以使用(即netfilter )

    [root@hch ~]#   systemctl enable iptables //让服务开机启动

    Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.

    [root@hch ~]#   systemctl start iptables //启动iptables服务

    到此就设置好了,可以使用之前版本的iptables

    使用以下命令可以查看规则;

    [root@hch ~]# iptables -nvL

    netfilter5表5链介绍

    netfilter的5个表

    filter:表主要用于过滤包,是系统预设的表,该表内建3个链:INPUT、OUTPUT以及FORWARDINPUT链作用于进入本机的包,OUTPUT链作用于本机送出的包,FORWARD链作用于那些跟本机无关的包。

    nat:表主要用于网络地址转换,同样也有3个链,PREROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址,OUTPUT链的作用是改变本地产生的包的目的地址,POSTROUTING链的作用是在包即将离开防火墙时改变其源地址。该表阿铭仅偶尔会用到。

    mangle:表主要用于给数据包做标记,然后根据标记去操作相应的包。这个表几乎不怎么用

    raw:表可以实现不追踪数据包做标记,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw表来指定某些端口的包不被追踪。

    security:表在Centos6里是没有的,它用于强制访问控制(MAC)的网络规则。

    netfilter的5个链

    5个链分别为PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

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

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

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

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

    POSTROUTING:发送到网卡接口之前

    iptables语法

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

    [root@hch ~]#  cat /etc/sysconfig/iptables

    查看iptables默认规则:

    [root@hch ~]#  iptables -nvL

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

    [root@hch ~]#  service iptables save

    清空iptables规则:

    [root@hch ~]#  iptables -F

    重启iptables规则:

    [root@hch ~]#  service iptables restart

    指定表:

    [root@hch ~]#  iptables -t nat -nvL

    [root@hch ~]# iptables -t filter -nvL

    如果不加-t,则默认的是filter

    -A/-D:表示增加/删除一条规则

    -I:表示插入一条规则其实效果跟-A一样

    -p:表示指定协议,可以是tcp、udp或者icmp

    --dport:跟-p一起使用,表示指定目标端口

    --sport:跟=p一起使用,表示指定源端口

    -s:表示指定源IP(可以是一个IP段)

    -d:表示指定目的IP(可以是一个IP段)

    -j:后面跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包

    -i:表示指定网卡

    相关文章

      网友评论

          本文标题:irewalld和netfilter、netfilter5表5链

          本文链接:https://www.haomeiwen.com/subject/xgagaxtx.html