zoukankan      html  css  js  c++  java
  • 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

    Linux网络相关

    ifocnfig 查看网卡ip(yum install net-tools)

    ip add 查看网卡

    ip add = ifocnfig

     

    ifconfig 不显示down掉的网卡,只显示正在工作的网卡。

    ifconfig -a  显示当前正在使用的网卡和down掉的网卡

     

    ifdown enth0  关闭eth0网卡

    ifup enth0  启动eth0网卡

    当先执行ifdown eth0的时候就断开远程连接了,如果需要重新启动某个网卡,可以两天命令

    一起执行 ifdown eth0 && ifup eth0

    增加一个虚拟网卡eth0:0

    也就是给虚拟网卡设置一个IP:

     

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

    [root@centos7 network-scripts]# cp ifcfg-eth0 ifcfg-eth0:

     

    ifcfg-eth0:  反斜杠表示脱义

     

    修改网卡配置文件

    vim  ifcfg-eth0:0

     

    修改内容如下:

    修改NAME

    NAME=eth0:0

    修改IP地址

    IPADDR=10.211.55.17

    修改设备名

    DEVICE=eth0:0

    只留下子网掩码,网关,DNS1可以去掉

    NETMASK=255.255.0.0

     

    :wq保存即可

    [root@pantinglinux]# ifdown eth0 && ifup eth0

    成功断开设备 'eth0'。

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

     

    添加了一个新的IP地址:10.211.55.17

    ifconfig 可以添加的新网卡eth0:0

     

    eth0:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

            inet 10.211.55.17  netmask 255.255.0.0  broadcast 10.211.255.255

            ether 00:1c:42:8c:25:09  txqueuelen 1000  (Ethernet)

     

    同样也可以用虚拟网卡的IP地址登录ssh root@10.211.55.17

     

     

     

    mii-tool enth0 查看网卡是否连接

    如果显示not support

    用ethtool eth0

    [root@pantinglinux]# ethtool eth0

    Settings for eth0:

    Link detected: yes

     

    更改主机名 hostnamectl set-hostname  centos7

    [root@pantinglinux]# hostnamectl set-hostname Centos7

    [root@pantinglinux]# bash

    [root@centos7 network-scripts]# cat /etc/hostname 

    centos7

    [root@centos7 network-scripts]# exit

    exit

     

     

    DNS配置文件/etc/resolv.conf

    [root@pantinglinux]# cat /etc/resolv.conf 

    # Generated by NetworkManager

    nameserver 119.29.29.29

     

    DNS是在/etc/sysconfig/eth0下配置的,可以添加一个DNS2 google DNS

    [root@pantinglinux]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DNS2:8.8.8.8

    重新启动网卡

    ifdown eth0 && ifup eth0

    然后查看/etc/resolv.conf

    [root@pantinglinux]# cat /etc/resolv.conf 

    # Generated by NetworkManager

    nameserver 119.29.29.29

    nameserver 8.8.8.8

     

    /etc/hosts 是windows、linux下都有的文件。 用来改自定义域名

     

    cat /etc/hosts

     

    当ping baidu.com 时候 是访问的百度的IP地址,但我也可以修改成ping 本机IP 10.211.55.17

     

    vim  /etc/hosts

    添加

    10.211.55.17 www.baidu.com

     

     

    一行 一个IP地址可以有多个域名。

    不同的IP地址对应相同的域名,以最后一个IP地址对应的域名为准。

    firewalld和netfilter 

    防火墙1:selinux

    selinux 临时关闭 setenforce 0

    selinux 永久关闭 vi /etc/selinux/config

    修改

    SELINUX=disabled

    查看selinux是否关闭:

    getenforce

     

    selinux 一般暂时关闭或者永久关闭也行。

     

    防火墙2:netfilter

     

    防火墙:netfilter ,filrewalld--->配置iptbales

     

     

    centos7之前使用netfilter防火墙

    关闭firewalld

    systemctl disable firewalld(.service)

    systemctl stop firewalld(.service)

     

     开启netfilter 方法

    (iptables是netfilter的一个工具)

    yum install -y iptables-services

    systemctl enable iptables

    systemctl start iptables

     

    防火墙:netfilter和firewalld 其底层都是iptables

    就是配置iptables

     netfilter5表5链介绍

    netfilter的5个表(filter表,nat表,managle表,raw表,security表)

     

    iptables手册:

    更加参考手册man iptables 找到5个表(filter表,nat表,managle表,raw表,security表)

    iptables传输数据包的过程

    http://www.cnblogs.com/metoy/p/4320813.html

    ① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 

    ② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 

    ③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

     filter表(内置的表)

    用于过滤包,最常用的表,有INPUT、FORWARD、OUTPUT三个链

    INPUT链(进来的数据链)

    FORWARD链(判断目标地址是不是本机,或者对目标地址修改)

    OUTPUT链(本机产生的包,出去之前所做的操作)

    nat表(跟路由器 iptables nat表 端口重映射一样)

    用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链

    PREROUTING 进来数据包所做的更改

    OUTPUT出去数据包之前所做的更改

    POSTROUTING出去数据包所做的更改

     

     

    以下3个表几乎不常用:

    managle表

    用于给数据包做标记,几乎用不到

    raw表

    可以实现不同追踪某些数据包(从来不用)

    security表

    在centos6中并没有,用于强制访问控制

     

     

     iptables语法

    查看iptables规则

    iptbales -nvL

    规则存储在/etc/sysconfig/iptables

    [root@pantinglinux]# cat /etc/sysconfig/iptables

    iptables  -F 清空规则

     

    service iptables save 保存规则

     

    service iptables  restart 重启iptables 加载原来的配置文件里面的规则/etc/sysconfig/iptables

     

    iptables -t nat //-t 指定表

    iptables -t filter  -nvL 查看filter里面的规则(不加-t 默认加载filter)

    iptables -t nat -nvL 查看nat表里面的规则

     

    iptables -Z 可以把计数器清零

    添加一条规则:(-A)

    (不加-t 默认filter表)

    iptbales -A INPUT -s 192.168.188.1 -p tcp --sport 1234  -d 192.168.188.128 --dport 80 -j DROP

    -A 意思是add  添加

    -s source来源

    -p 协议protocol   tcp /udp

    -d  destination目标ip

    -dport 目标端口

    -j reject拒绝

    DROP 丢掉 /REJECT 看一下不符合就丢掉数据

     

     

    插入一条规则:(-I)

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

    删除一条规则(-D)

    iptbales -D  INPUT -s 192.168.188.1 -p tcp --sport 1234  -d 192.168.188.128 --dport 80 -j DROP

    iptables -D  INPUT -p tcp --dport 80 -j DROP

     

    但是我不记得具体的规则,可以这样删除规则,根据规则号删除规则:

    iptables -nvL --line-numbers

     

    iptables -D INPUT 1

     

    -A 添加到规则最后面;-I (insert)把规则插入到前面;-D (delete )删除一条规则

     

     

    -i 指定网卡inferace

    iptables -I /-A/-D INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

     

    iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

     

    对所有的规则设置策略policy,默认的策略是accept

    DROP会拒绝所有的数据传入

    iptables -P INPUT DROP

    ACCEPT接收所有的数据包

    iptables -P INPUT ACCEPT

     

  • 相关阅读:
    UVAlive3708 UVA1388 POJ3154 Graveyard【水题】
    UVALive5520 UVA305 POJ1012 HDU1443 Joseph【数学计算+打表】
    Go语言的素数对象编程实现及其使用
    Go语言实现的素数筛选程序
    Go语言的map以及sort
    封装统一数据验证方法
    项目开发中发布更新文档备注
    Asp.net Web Api开发Help Page 添加对数据模型生成注释的配置和扩展
    编写一个通用递归获取树形结构对象集合的方法
    使用AutoFac实现依赖注入(封装一个注册类)
  • 原文地址:https://www.cnblogs.com/pta188/p/9012323.html
Copyright © 2011-2022 走看看