CentOS 网络配置
首次发布时间:2020/8/13
最后修改时间:2020/8/14
摘要
- 节点数
- 配置网络服务
- 修改网络配置
- 重启网络
- 查看 IP 地址
- 修改主机名
- 重启服务器,是主机名修改生效
- 配置主机文件
- 系统防火墙和内核防火墙配置
- 临时关闭内核防火墙
- 永久关闭内核防火墙
- 临时关闭系统防火墙
- 永久关闭系统防火墙
- SSH 互信配置
- 生成密钥
- 生成公钥
- 复制其它节点的公钥
- 复制公钥到其它节点
- 免密 SSH 测试
注意
- 本文是针对大数据场景下,多节点之间通信所进行的网络配置
- 而不是常规的让系统能够连通外网的网络配置
- 因为该系列后续文章的关系,本篇使用的 IP 网段为:
192.168.30.0
- 请以文字为准,截图仅供参考
节点数
本文章基于三个节点的场景:
- 一个
master
节点 - 两个
slave
节点
配置网络服务(每个节点都要配置)
修改网络配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
(这个文件的后缀各有不同,以自己的为准)
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0c:29:02:82:5A
IPADDR=192.168.30.101
NETMASK=255.255.255.0
GATEWAY=192.168.30.2
DNS1=114.114.114.114
- 两个
slave
节点的 IP 别是:IPADDR=192.168.30.102
IPADDR=192.168.30.103
- 还有
HWADDR
不一样 - 其它配置一模一样
HWADDR
从这里看:(每个节点都不同)
重启网络
- 重启网络,让网络配置修改生效:
service network restart
(或者用systemctl restart network.service
)
查看 IP 地址
- 查看 IP 地址,看是否设置成功:
ip addr
修改主机名
vi /etc/hostname
- 改为
master
(或slave1
、slave2
,根据实际节点来命名)
重启服务器,是主机名修改生效
reboot
配置主机文件(每个节点都要配置)
vi /etc/hosts
192.168.30.101 master
192.168.30.102 slave1
192.168.30.103 slave2
这个配置每个节点都要配
我一开始就是只有master
和slave2
配了,slave1
没配,
导致master
连slave2
时很快,但是连slave1
特别慢
后来把slave1
也配置了就好了
系统防火墙和内核防火墙配置(每个节点都要配置)
临时关闭内核防火墙
setenforce 0
- 关闭之后,可通过
getenforce
命令来查看状态 - 显示
Permissive
表示是关闭状态(显示Enforcing
表示是开启状态)
永久关闭内核防火墙
vi /etc/selinux/config
SELINUX=disabled
临时关闭系统防火墙
systemctl stop firewalld.service
- 输完该命令不会有任何提示,不用奇怪
永久关闭系统防火墙
systemctl disable firewalld.service
SSH 互信配置
生成密钥(每个节点都要执行)
ssh-keygen -t rsa
- 执行命令后,要按三次回车
- 三次回车分别对应以下三项提示
- 每一项都是直接按回车即可,不用输入任何东西
#1 Enter file in which to save the key (/root/.ssh/id_rsa):
#2 Enter passphrase (empty for no passphrase):
#3 Enter same passphrase again:
- 之后就会自动生成密钥
注意:生成密钥这一步,必须三个节点都执行一遍,再继续下面的步骤
生成公钥(只有主节点【master】执行)
- 利用
id_rsa.pub
生成公钥authorized_keys
(其实就是简单的复制)cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
- 设置
authorized_keys
的权限chmod 600 /root/.ssh/authorized_keys
- 看到
-rw-------
就说明权限设置成功了- 表示 文件拥有者 对该文件拥有 读、写 权限
复制其它节点的公钥(只有主节点【master】执行)
执行这一步的前提是,所有节点都生成密钥了。就是第一步所做的事
ssh slave1 cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
ssh slave2 cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
- 执行的时候会提示:
Are you sure you want to continue connecting (yes/no)?
-
输入
yes
,然后按回车即可 -
随后会让你输入
slave1
/slave2
的密码:
root@slave1's password:
- 那就输入
slave1
/slave2
的密码,然后按回车即可
复制公钥到其它节点(只有主节点【master】执行)
scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/authorized_keys
scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/authorized_keys
- 执行命令后,会要求输入
slave1
/slave2
的密码,输入密码然后按回车即可
scp
是secure copy
的缩写,scp
是 linux 系统下基于 ssh 登陆 进行的 安全的远程文件拷贝 命令
免密 SSH 测试
ssh slave1 ip addr
ssh slave2 ip addr
可以看到并不需要输入密码即可查看其它节点的 IP 信息,说明 SSH 配置成功了
结束
- 有不清楚的可留言