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:\0

 

ifcfg-eth0:\0  反斜杠表示脱义

 

修改网卡配置文件

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@localhost network-scripts]# 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@localhost network-scripts]# ethtool eth0

Settings for eth0:

Link detected: yes

 

更改主机名 hostnamectl set-hostname  centos7

[root@localhost network-scripts]# hostnamectl set-hostname Centos7

[root@localhost network-scripts]# bash

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

centos7

[root@centos7 network-scripts]# exit

exit

 

 

 

DNS配置文件/etc/resolv.conf

[root@localhost network-scripts]# cat /etc/resolv.conf 

# Generated by NetworkManager

nameserver 119.29.29.29

 

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

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

DNS2:8.8.8.8

重新启动网卡

ifdown eth0 && ifup eth0

然后查看/etc/resolv.conf

[root@localhost network-scripts]# 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@localhost network-scripts]# 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-01-25 00:26  zhaocundang  阅读(218)  评论(0编辑  收藏  举报