Linux网络管理及基础设置
一、网络管理
1 临时配置网络(ip,网关,dns)
用ifconfig命令设定网卡的IP地址:
ens33网卡的IP地址为192.168.16.154,
ifconfig ens33 192.168.16.33 netmask 255.255.255.0
或者是
ifconfig ens33 192.168.16.33/24
/24 代表子网掩码 255.255.255.0
-添加dns服务器
**servername 192.168.16.254**
-
添加默认网关
route add default gw192.168.16.254 netmask 255.255.255.0
route -n 查看刚刚添加的网关
-
删除添加的网关
route del default gw192.168.16.254 netmask 255.255.255.0
-
重启网络服务
systemctl restart network
2 永久修改IP地址
永久修改IP地址,需要修改网卡的配置文件
网卡的配置文件存放在/etc/sysconfig/network-scripts/ifcfg-ens33
下面是修改后的
```
BOOTPROTP="static"
IPADDR=192.168.16.1
NETMASK=255.255.255.0
GATEMASK=192.168.16.254
DNS1=192.168.16.254
ONBOOT=“yes”
```
3 hosts文件--本地解析规则###
文件位于/etv/hosts
修改hosts文件中的IP地址和域名,当ping相应的域名的时候会首先从hosts寻找,ping的地址就是修改过域名
在ping不同外网的时候可以进行测试
在搭建的集群中为机器的hosts文件IP命名。例如
192.168.16.1 web1 192.168.16.2 web2 192.168.16.3 web3
在反向代理中直接ping web1、 web2、 web3即可,这样能够准确的找到机器
这个hosts文件可以保存到所有的机器中
二、ssh 服务##
通过xshell可以远程登录到服务器主机,这个软件也是通过sshd的端口进行通信的,默认安装后端口是22
netstat -an|grep 22 过滤22号端口
1 ssh登录
在一台主机中ssh 192.168.16.1输入密码后就能登录另一台主机,默认登录的是root用户,想要登录普通用户,ssh @
2 scp 上传下载###
scp /etc/hosts 192.168.168.xx:/tmp
源文件 IP 冒号分割 目标路径
输入对方的密码后就能上传
scp /etc/hosts python-web2:/tmp
修改本地hosts后可以直接输入相应的主机名
下载就是把源路径换成对方的IP+路径
scp 192.168.1.xx:/123.txt /root
3 ssh秘钥登录
使用scp进行上传下载的时候需要每次都输入密码,于是引入了公钥和私钥的概念,公钥和私钥可以在一台客户端上制作,客户端将制作的公钥发送给服务端。
ssh-keygen后一路回车即可生成公钥和密钥,在/root/.ssh隐藏文件中
现在需要把ssh-rsa-pub发送给服务端,服务端会重命名成aluthorized-keys,这个文件的内容和id_rsa.pub是一样的
ssh-copy-id -i 192.168.16.xx()
客户端默认存放在/root/.ssh中
4 修改ssh server端口登录
ssh的默认端口是22,在公司中需要修改配置文件更改端口,防止攻击
文件存放在**/etc/ssh/sshd_config**
修改Port 8888 后需要重启sshd,systemctl restart sshd -p+端口
ssh-copy-id -i /root/.ssh/id_rsa.pub -p 8888
这里把写上公钥的具体路径
ssh 192.168.16.xx -p 8888
三、bash环境
shell有两层意思,一是命令解释器,二是shell脚本
1 命令的优先级
命令分为:
==> alias==> Compound Commands==> function ==> build_in
==> hash==> $PATH==> error: command not found
2 别名alias
当修改ps aux的别名为aaa后.执行aaa就是执行ps aux的功能,unalias aaa 取消别名
3 内置函数
buildin,内置函数是存在于bash中的,只要bash运行,内置函数就能执行
4 函数
函数能够将命令进行组合完成相应的任务,当再次需要的时候能够直接调用,这就是函数的模块化作用。
5 hash
hash 会将常用的命令的路径存放在缓存中,能够减少搜索命令的时间
四、元字符
反引号 命令替换 取命令的执行结果 $() 同上,但它弥补了
的嵌套缺陷
~ 家目录
! 取非
! 历史命令调用+history的编号
echo $?
返回值为0代表命令执行,非零表示没有执行
$ 变量取值
$() 命令替换
${} 变量名的范围
^ 取非===!
& 后台执行
&& 逻辑与
| 管道
|| 逻辑或
= 赋值
"" 软引
''硬引
< 输入重定向
> 输出重定向
>> 追加
source a.sh 没有权限也可以立即执行