1 控制服务和守护进程 systemctl
systemctl start **
systemctl restart **
systemctl enable **
systemctl status ** -l
2 管理IPv6网络 (考点)
理论 略
ipv4 点分十进制,32位4组
mac 冒分十六进制,48位6组
ipv6 冒分十六进制,128位8组 (0123456789ABCDEF)
例如:
CDCD:910A:2222:5498:8475:1111:3900:2020
2001:0410:0000:0001:0000:0000:0000:45ff
2001: 410: 0: 1: :45ff
2001:410:0:1::45FF
:: 配置 IPv6 地址
在您的考试系统上配置接口 eth0 使用下列 IPv6 地址:
server0 上的地址应该是 fddb:fe2a:ab1e::c0a8:64/64
desktop0 上的地址应该是 fddb:fe2a:ab1e::c0a8:65/64
两个系统必须能与网络 fddb:fe2a:ab1e::c0a8:fe 内的系统通信。
地址必须在重启后依旧生效。
两个系统必须保持当前的 IPv4 地址并能通信。
[Server]
# ping6 fe80::5054:ff:fe00:b%eth0
# ping6 -I eth0 fe80::5054:ff:fe00:b
# nmcli con mod 'System eth0' ipv6.addresses fddb:fe2a:ab1e::c0a8:64/64 ipv6.method static connection.autoconnect yes
# ifdown eth0 && ifup eth0
# ip add show eth0
[desktop]
# nmcli con mod "System eth0" ipv6.addresses fddb:fe2a:ab1e::c0a8:65/64 ipv6.method manual connection.autoconnect yes 注释:manual 和static均表示静态IP
# systemctl restart network
# ip add show | grep inet6
# ping6 fddb:fe2a:ab1e::c0a8:fe
显示路由表:ipv6: ip -6 route ipv4: ip route
3 配置链路聚合和桥接 (考点)
3.1 配置网络Team
步骤:
1、创建team接口
2、确定team接口特性
3、分配接口(team网卡与物理网卡的映射)
4、启用或禁用接口
使用两个man手册:
man teamd.conf
man nmcli-examples | grep team | grep \\$
[foundation]查看脚本
# vim /content/courses/rh254/rhel7.0/grading-scripts/lab-teambridge
:: 配置链路聚合
在 server0.example.com 和 desktop0.example.com 之间按以下要求配置
此链路使用接口 eno1 和 eno2
此链路在一个接口失效时仍然能工作
此链路在 server0 使用下面的地址 192.168.0.100/255.255.255.0
此链路在 desktop0 使用下面的地址 192.168.0.200/255.255.255.0
此链路在系统重启之后依然保持正常状态
[Server]
# lab teambridge setup
# man teamd.conf | grep activebackup
# man nmcli-examples | grep team | grep \\$
# nmcli con add type team con-name t1 ifname t1 config '{"runner": {"name": "activebackup"}}'
# nmcli con add type team-slave con-name t1s1 ifname eno1 master t1
# nmcli con add type team-slave con-name t1s2 ifname eno2 master t1
# nmcli con mod t1 connection.autoconnect yes ipv4.method static ipv4.addresses 192.168.0.100/24
# systemctl restart NetworkManager
# ip add show
# ping -c4 192.168.0.100
# teamdctl t1 state
[Desktop类同]
3.2 配置网卡Bridge 自整理 未讲
配置software Bridge
– 将物理网卡配置成交换机;– 配置多个虚拟网卡;– 每块虚拟网卡对应不同网络环境;
Example 8. Adding a bridge and two slave profiles
$ nmcli con add type bridge con-name TowerBridge ifname TowerBridge
$ nmcli con add type bridge-slave con-name br-slave-1 ifname ens3 master TowerBridge
$ nmcli con add type bridge-slave con-name br-slave-2 ifname ens4 master TowerBridge
$ nmcli con modify TowerBridge bridge.stp no
brctl show
4 网络端口安全
– 2.4 版及以后的内核中,包过滤机制是netfilter,管理工具是iptables
– Rhel7为了更好的支持ipv6开始使用firewalld
• netfilter
– 位于Linux内核中的包过滤防火墙功能体系
– 称为Linux防火墙的“内核态”
• iptables
– 位于/sbin/iptables,是用来管理防火墙的命令工具
– 为防火墙体系提供过滤规则/策略,决定如何过滤或处理到达防火墙主机的数据包
– 称为Linux防火墙的“用户态”
4.1 iptables
• 规则链
– 规则的作用在于对数据包进行过滤或处理,根据处理时机的不同,各种规则被组织在不同的“链”中
– 规则链是防火墙规则/策略的集合
• 默认的5种规则链
– INPUT:处理入站数据包
– OUTPUT:处理出站数据包
– FORWARD:处理转发数据包
– POSTROUTING链:在进行路由选择后处理数据包
– PREROUTING链:在进行路由选择前处理数据包
iptables命令的语法格式
– iptables [-t 表名] 管理选项[链名] [条件匹配] [-j 目标动作或跳转]
• 几个注意事项
– 不指定表名时,默认表示filter表
– 不指定链名时,默认表示该表内所有链
– 除非设置规则链的缺省策略,否则需要指定匹配条件
iptables命令的管理选项
• 设置规则内容:
-A:在链尾追加一条新的规则
-I:在指定位置(或链首)插入一条新的规则
-R:修改、替换指定位置或内容的规则
-P:设置指定链的默认策略
• 列表查看规则
-L:列表查看各条规则信息
--line-numbers:查看规则信息时显示规则的行号
-n:以数字形式显示IP地址、端口等信息
-v:显示数据包个数、字节数等详细信息
• 清除规则
– -D:删除指定位置或内容的规则
– -F:清空规则链内的所有规则
• 自定义规则链
– -N:创建一条新的规则链
– -X:删除自定义的规则链
• 其他
– -h:查看iptables命令的使用帮助
• 通用条件匹配
– 可直接使用,不依赖于其他的条件或扩展模块
– 包括网络协议、IP地址、网络接口等匹配方式
• 隐含条件匹配
– 一般需要以特定的协议匹配作为前提
– 包括端口、TCP标记、ICMP类型等匹配方式
• 协议匹配
– 使用“-p 协议名”的形式
– 协议名可使用在“/etc/protocols”文件中定义的名称
– 常用的协议包括tcp、udp、icmp等
• 地址匹配
– 使用“-s 源地址”、“-d 目标地址”的形式
– 地址可以是单个IP地址、网络地址(带掩码长度)
• 接口匹配
– 使用“-i 网络接口名”、“-o 网络接口名”的形式,分别对应接收、发送
数据包的网络接口
• 端口匹配
– 使用“--sport 源端口”、“--dport 目标端口”的形式
– 采用“端口1:端口2”的形式可以指定一个范围的端口
• ICMP类型匹配
– 使用“--icmp-type ICMP类型”的形式
– ICMP类型可以使用类型字符串或者对应的数值,例如Echo-
Request、Echo-Reply
• 常见的数据包处理方式
– ACCEPT:放行数据包
– DROP:丢弃数据包
– REJECT:拒绝数据包
– 用户自定义链名:传递给自定义链内的规则进行处理
– SNAT:修改数据包的源地址信息
– DNAT:修改数据包的目标地址信息
• 导出规则
– iptables-save
– 结合重定向输出“>”符号保存规则信息
iptables-save > /root/iptables.160924
另一种方式:
--配置保存 service iptables save 可直接保存至配置文件/etc/sysconfig/iptables
• 导入规则
– iptables-restore
– 结合重定向输入“<”符号恢复规则信息
iptables-restore < /root/iptables.160924
SNAT策略概述
• SNAT策略的典型应用环境
– 局域网主机共享单个公网IP地址接入Internet
• SNAT策略的原理
– 源地址转换,Source Network Address Translation
– 修改数据包的源IP地址
• 推荐实现步骤
– 1. 开启网关主机的路由转发功能
– 2. 添加使用SNAT策略的防火墙规则
– 规则示例:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24
-o eth0 -j SNAT --to-source 218.29.30.31
iptables -t nat -A POSTROUTING -s 192.168.1.0/24
-o eth0 -j MASQUERADE
• MASQUERADE(地址伪装)策略
– 只需将“-j SNAT --to-source 218.29.30.31”的形式改为
“-j MASQUERADE”即可
– 如果是通过ADSL拨号方式连接Internet,则外网接口名称通
常为ppp0、ppp1等
• MASQUERADE策略应用示例
DNAT策略概述
• DNAT策略的典型应用环境
– 在Internet中发布位于企业局域网内的服务器
• DNAT策略的原理
– 目标地址转换,Destination Network Address Translation
– 修改数据包的目标IP地址
• 推荐实现步骤
– 1. 确认已开启网关的路由转发功能
– 2. 添加使用DNAT策略的防火墙规则
– 规则示例:
iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp -
-dport 80 -j DNAT --to-destination 192.168.1.6
理解iptables条目
iptables –t filter -A INPUT -p tcp --dport 80 -j ACCPET
4.2 iptables课程命令:
table filter(default)
chain INPUT | OUTPUT | FORWARD | PRE | POST
rule
# systemctl status iptables
# iptables -L 列出各链及其规则
# iptables -F 清除规则链内的规则
# iptables -X 删除自定义的规则链
# iptables -A INPUT -s 1.1.1.1 -j DROP 在INPUT链尾增加一条规则,来自1则策略drop
# iptables -R INPUT 3 -s 1.1.1.3 -j ACCEPT 替换指定位置3的规则(位置从上向下数)
# iptables -I INPUT 2 -s 1.1.1.4 -j DROP 在位置2插入一条规则,其他>2规则位置+1
# iptables -nL --line-number 标记各规则的位置
# iptables -I INPUT -s 1.1.1.5 -j DROP 在链首,位置1插入一条规则
# iptables -P FORWARD ACCEPT 修改FORWARD链默认策略
# iptables -N cooper 创建自定义链
# iptables -E cooper sven 修改自定义链名
# iptables -X sven 删除自定义规则链
# service iptables save 保存规则链至下述配置文件
# vim /etc/sysconfig/iptables
# iptables-save > /root/iptables.160924 保存规则至指定文件
# iptables -F; iptables -X 删除全部规则 全部链
# iptables-restore < /root/iptables.160924 恢复
# iptables -nL
# systemctl status iptables
4.3 firewalld (考试:端口转发 rich规则)