第三十四节、网卡配置方法/网络会话/bond技术及防火墙
2018-01-05 本文已影响0人
妄语莫言
一、网卡配置的四种方法
- 直接修改网卡的 配置文件
/etc/sysconfig/network-scripts/ifcfg-eno16777736
- nmtui基于命令行的工具,5/6版本是setup命令
- nm-connection-editor图形化界面配置、
4.通过网络连接图标配置
二、防火墙的配置
- 6版本以前iptables
- 基于命令行的命令firewall-cmd
- firewall-config图形化界面
- tcp_wrappers(轻量级基于服务名称)
防火墙的策略是在配置文件中从上往下依次执行,匹配到一条符合条件项后立即执行,就不会执行后面的规则.
当匹配到符合条件的流量后三种处理方式:允许,拒绝以及记录日志
拒绝分两种策略执行:
- REJECT,直接拒绝,对方看到的你拒绝他的消息,考试拒绝的首选
- DROP,丢包策略,对方显示的是你不在线
针对的流量分两种:从外到内INPUT,从内到外OUTPUT
示例:
[root@localhost ~]# iptables -F
#参数F表示清空所有策略
#参数L表示查看防火墙所有的状态
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
#清空所有规则之后查看默认允许所有流量进来
[root@localhost ~]# iptables -I INPUT -p icmp -j REJECT
#参数I表示插入所有策略的最前面,I后面如果跟数字表示插入到第几条
#参数A表示插入所有策略的最后面
#参数p针对的协议
#参数j针对的策略
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT icmp -- anywhere anywhere reject-with icmp-port-unreachable
#对比之前的禁止所有icmp协议
#设置默认策略只能设置接受或者丢包
[root@localhost ~]# iptables -P INPUT ACCEPT/DROP
#拒绝远程访问的ssh22端口
[root@localhost ~]# iptables -I INPUT -p tcp --dport=22 -j REJECT
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT tcp -- anywhere anywhere tcp dpt:ssh reject-with icmp-port-unreachable
[root@localhost ~]# iptables -D INPUT 1
#参数D针对INPUT策略删除指定的第一条
[root@localhost ~]# iptables -I INPUT -s 192.168.1.2 -p tcp --dport=22 -j REJECT
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport=22 -j REJECT
#拒绝来自某个IP或者网段的流量访问本机的22端口
#参数s即source即来源,考试如果没指定协议tcp/udp都写上
[root@localhost ~]# iptables -I INPUT -s 192.168.1.2 -p tcp --dport=22:100 -j REJECT
#禁用端口22到100
基于命令行firewall-cmd配置
防火墙有两个保存策略的位置
- Runtime这是默认保存的位置,当前立即生效,但重启失效
- permanent永久保存,当前不会立即生效,重启后生效,不想重启需要执行firewall-cmd --reload
#查看防火墙默认策略侧记zone
[root@localhost ~]# firewall-cmd --get-default-zone
public
#查看某个网卡的策略集
[root@localhost ~]# firewall-cmd --get-zone-of-interface=eno16777736
public
#修改网卡的策略集合
[root@localhost ~]# firewall-cmd --permanent --zone=dmz --change-interface=eno16777736
success
[root@localhost ~]# firewall-cmd --permanent --get-zone-of-interface=eno16777736
dmz
防火墙的紧急模式会直接切断所有网络连接因此要先将自己加入白名单再执行否则自己也无法远程控制服务器
#开启和关闭紧急模式
[root@localhost ~]# firewall-cmd --panic-on
[root@localhost ~]# firewall-cmd --panic-off
查询某个服务或者端口是否被放行
#查询某个服务或者端口是否被放行
[root@localhost ~]# firewall-cmd --zone=public --query-service=http
no
#加入放行http,但永久生效没有放行
[root@localhost ~]# firewall-cmd --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --zone=public --query-service=http
yes
[root@localhost ~]# firewall-cmd --permanent --zone=public --query-service=http
no
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@localhost ~]# firewall-cmd --permanent --zone=public --query-service=http
yes
#查询端口需要带协议
[root@localhost ~]# firewall-cmd --zone=public --query-port=80/tcp
no
网络会话功能nmcli
RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。
#查看默认的网络会话
[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
eno16777736 8f242f9b-792a-4479-a57e-5835fb1ff620 802-3-ethernet eno16777736
#新建公司会话commpany
[root@localhost ~]# nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4 192.168.10.66/24 gw4 192.168.10.1
Connection 'company' (e6b2cb8d-d90d-400a-9aad-d50a0ac49365) successfully added.
#切换网络会话、
[root@localhost ~]# nmcli connection up company
网卡绑定功能
一般来讲,生产环境必须提供7×24小时的网络传输服务。借助于网卡绑定技术,不仅可以提高网络传输速度,更重要的是,还可以确保在其中一块网卡出现故障时,依然可以正常提供网络服务。假设我们对两块网卡实施了绑定技术,这样在正常工作中它们会共同传输数据,使得网络传输的速度变得更快;而且即使有一块网卡突然出现了故障,另外一块网卡便会立即自动顶替上去,保证数据传输不会中断。
优点是:平时两块网卡同时工作,实现负载均衡,突破网络瓶颈,发生故障时冗余备份保证总有一块网卡能正常工作
5/6以前的版本交bonding绑定技术,7版本叫team聚合技术
实验环境将网卡A网卡B绑定成一块虚拟网卡bond0
#第一步、修改两块网卡的配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet #网络接口类型以太网
BOOTPROTO=none #启动方式默认
ONBOOT=yes #设置开机自启动
USERCTL=no #禁止通过命令行控制
DEVICE=eno16777736 #设备名称
MASTER=bond0 #绑定后虚拟主网卡名字bond0
SLAVE=yes #设定为从属中的从状态
另一块网卡除了自己设备名其他参数一样
#第二步、新建虚拟网卡bond0的配置文件
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.10.10
PREFIX=24
NM_CONTROLLED=no #禁止NM服务(NetworkManager)的控制,该服务会与bond技术冲突
#第三步、新建系统内核文件(虚拟主网卡的配置文件),让内核支持bond技术
[root@localhost ~]# vim /etc/modprobe.d/bond.conf
alias bond0 bonding #设置别名
options bond0 miimon=100 mode=6
# miimon设置故障切换时间0.1秒,mode设置虚模式,6就是正常一起工作负载均衡,故障冗余备份,不需要交换机支持
#模式1正常只有一块工作,故障时顶替,类似热备盘的功能,模式0和6功能一样但是需要交换机提供支持
#第四步、重启网络服务后网卡绑定操作即可成功。正常情况下只有bond0网卡设备才会有IP地址等信息
[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fe9c:637d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:9c:63:7d txqueuelen 0 (Ethernet)
RX packets 700 bytes 82899 (80.9 KiB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 588 bytes 40260 (39.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno16777736: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:0c:29:9c:63:73 txqueuelen 1000 (Ethernet)
RX packets 347 bytes 40112 (39.1 KiB)
RX errors 0 dropped 6 overruns 0 frame 0
TX packets 263 bytes 20682 (20.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno33554968: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
ether 00:0c:29:9c:63:7d txqueuelen 1000 (Ethernet)
RX packets 353 bytes 42787 (41.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 325 bytes 19578 (19.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0