linux学习第二十九篇:linux网络相关,防火墙:firewalld和netfilter,netfilter5表5链介绍,iptables语法

linux网络相关

  1. 查看网卡ip //安装包:yum install -y net-tools
    ifconfig
    -a:当网卡没有IP的时候不会显示

  2. 打开网卡:
    ifup ens33

  3. 关闭网卡:
    ifdown ens33

  4. 关闭网卡后开启网卡(防止远程连接时关闭网卡后没法远程连接)
    ifdown ens33 && ifup ens33

  5. 设定一个虚拟网卡:
    进入配置文件的目录:cd /etc/sysconfig/network-scripts/
    复制网卡ens33配置文件:cp ifcfg-ens33 ifcfg-ens33\:0 //记得要用\脱义:号。
    配置ifcfg-ens33:0配置文件:把IP改了,NAME和DEVICE都改为ens33:0,DNS和GATEWAY网关可以删除。
    重启网卡:ifdown ens33 && ifup ens33

  6. 查看网卡是否连接:
    mii-tool ens33
    link ok说明是连接的
    这里写图片描述
    有些人的可能不支持,可以使用命令:ethtool ens33
    最后一行link显示yes说明是连接的
    这里写图片描述

  7. 更改主机名为xie(自定义):
    hostnamectl set-hostname xie
    主机名的配置文件:/etc/hostname

  8. DNS配置文件,网卡配置文件中的DNS的ip会在这DNS配置文件中。也可以临时编辑DNS配置文件中的DNS,不过重启了网卡,依然会被网卡配置文件里的dns配置所覆盖:
    /etc/resolv.conf //临时编辑的格式:nameserver ip地址

  9. linux和Windows都有的配置文件,修改域名解析使本机访问到自己设置的本机的IP(只在本机生效)
    /etc/hosts
    //格式:123.456.789.456 www.qq123.com,中间空格分开。也可以后面接多个域名。一个IP后面可以跟多个域名,可以是几十个甚至上百个;每行只能有一个IP,也就是说一个域名不能对应多个IP;如果有多行中出现相同的域名(前面IP不一样),会按最后面出现的记录来解析。

linux防火墙:firewalld和netfilter

selinux临时关闭:
setenforce 0

selinux永久关闭,编辑配置文件:
vi /etc/selinux/config
这里写图片描述
重启系统生效。

  1. 查看防火墙状态的命令:
    getenforce //显示 Enforcing就是打开,Permissive就是selinux虽然开启,但是不会真正去阻断,只会提醒。

  2. centos7之前使用netfilter防火墙

  3. centos7开始使用firewalld防火墙

  4. 关闭firewalld开启netfilter方法:
    停掉firewalled,不让它开机启动
    systemctl disable firewalld

关闭firewalld:
systemctl stop firewalld

安装iptables包:
yum install -y iptables-services

安装完iptables会产生的服务:
systemctl enable iptables

开启iptables(实际是开启了netfilter,iptables只是工具):
systemctl start iptables

查看iptables的默认规则:
iptables -nvL

netfilter5表5链介绍

  1. netfilter的五个表
    filter 这个表主要用于过滤包的,是系统预设的表,这个表也是阿铭用的最多的。内建三个链INPUT、OUTPUT以及FORWARD。INPUT作用于进入本机的包;OUTPUT作用于本机送出的包;FORWARD作用于那些跟本机无关的包。
    nat主要用处是网络地址转换,也有三个链。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前改变其源地址。
    mangle 这个表主要是用于给数据包打标记,然后根据标记去操作哪些包。
    raw表可以实现不追踪某些数据包,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw表来指定某些端口的包不被追踪。
    security表在Centos6中是没有的,它用于强制访问控制(MAC)的网络规则。

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

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

iptables语法

查看iptables规则,-nvL 即查看该表的规则,其中-n表示不针对IP反解析主机名;-L表示列出的意思;而-v表示列出的信息更加详细。如果不加-t指定表,则默认是filter表:
iptables -nvL

规则保存在配置文件iptables中:
/etc/sysconfig/iptables

清空规则:
iptables -F

重新加载配置文件里的规则:
systemctl restart iptables.service

保存规则,重启系统之后都会加载配置文件里的规则,用这个命令保存之后重启系统后就会生效,如果不这样保存,那修改的规则仅仅保存在内存中,下次启动就不会生效:
service iptables save

-t指定表:
iptables -t nat

可以把计数器清零:
iptables -Z

不加-t默认是filter表,-A是增加一条规则,针对的链是INPUT链,-s指定来源IP,-p指定协议,–sport指定来源端口,-d目标的IP,–dport目标的端口,-j后面跟动作:DROP把数据扔掉/REJECT拒绝(DROP是看都不看数据包就扔掉,但是REJECT是看完数据包再拒绝,ACCEPT表示允许包)
iptables -A INPUT -s 192.168.188.1 -p tcp –sport 1234 -d 192.168.188.128 –dport 80 -j DROP

-I是插入规则插到最前面,-A是增加规则增加到最后面。最前面的规则会优先过滤(如匹配的都是80端口的,最前面的规则已经匹配并且把数据包DROP掉,那么最后面的规则就没得匹配了),-D删除规则:
iptables -I INPUT -p tcp –dport 80 -j DROP //不指定来源IP,但要指定协议和目标端口。
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP

-i指定网卡:
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

把规则的编号列出来,方便按编号删除规则:
iptables -nvL –line-numbers

删除指定的规则:
iptables -D INPUT 1

-P后面跟链名,策略内容或为DROP,ACCEPT,默认是ACCEPT。注意:如果在连接远程服务器,千万不要随便执行这个命令,因为一旦执行,远程连接就会被断开:
iptables -P OUTPUT DROP

扩展(selinux了解即可)
1. selinux教程 http://os.51cto.com/art/201209/355490.htm
2.selinux pdf电子书 http://pan.baidu.com/s/1jGGdExK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值