Linux网络管理及基础设置

一、网络管理

1 临时配置网络(ip,网关,dns)

ifconfig命令设定网卡的IP地址:

ens33网卡的IP地址为192.168.16.154,

1
ifconfig ens33 192.168.16.33 netmask 255.255.255.0

或者是

1
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

    1
    route -n 查看刚刚添加的网关

  • 删除添加的网关

    route del default gw192.168.16.254 netmask 255.255.255.0

  • 重启网络服务

    systemctl restart network

2 永久修改IP地址

永久修改IP地址,需要修改网卡的配置文件

1
网卡的配置文件存放在/etc/sysconfig/network-scripts/ifcfg-ens33

下面是修改后的

1
2
3
4
5
6
7
8
9
10
11
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文件–本地解析规则

1
2
文件位于/etv/hosts
`

修改hosts文件中的IP地址和域名,当ping相应的域名的时候会首先从hosts寻找,ping的地址就是修改过域名

在ping不同外网的时候可以进行测试

在搭建的集群中为机器的hosts文件IP命名。例如

1
2
3
192.168.16.1 web1
192.168.16.2 web2
192.168.16.3 web3

在反向代理中直接ping web1、 web2、 web3即可,这样能够准确的找到机器

这个hosts文件可以保存到所有的机器中

二、ssh 服务

通过xshell可以远程登录到服务器主机,这个软件也是通过sshd的端口进行通信的,默认安装后端口是22

1
netstat -an|grep 22 过滤22号端口

1 ssh登录

在一台主机中ssh 192.168.16.1输入密码后就能登录另一台主机,默认登录的是root用户,想要登录普通用户,ssh @

2 scp 上传下载

1
2
3
scp /etc/hosts 192.168.168.xx:/tmp
源文件 IP 冒号分割 目标路径
输入对方的密码后就能上传
1
2
3
4
5
6
scp /etc/hosts python-web2:/tmp
修改本地hosts后可以直接输入相应的主机名
```
下载就是把源路径换成对方的IP+路径
scp 192.168.1.xx:/123.txt  /root
1
2
3
4
### 3 ssh秘钥登录 ###
使用scp进行上传下载的时候需要每次都输入密码,于是引入了公钥和私钥的概念,公钥和私钥可以在一台客户端上制作,客户端将制作的公钥发送给服务端。

ssh-keygen后一路回车即可生成公钥和密钥,在/root/.ssh隐藏文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
![](http://images2015.cnblogs.com/blog/658994/201703/658994-20170322153710658-1360977580.jpg)
现在需要把ssh-rsa-pub发送给服务端,服务端会重命名成aluthorized-keys,这个文件的内容和id_rsa.pub是一样的
**ssh-copy-id -i 192.168.16.xx()**
客户端默认存放在*/root/.ss*h中
![](http://images2015.cnblogs.com/blog/658994/201703/658994-20170322154328830-726770903.jpg)
### 4 修改ssh server端口登录 ###
ssh的默认端口是22,在公司中需要修改配置文件更改端口,防止攻击

文件存放在/etc/ssh/sshd_config

1
修改Port 8888 后需要**重启sshd,systemctl restart sshd** -p+端口

ssh-copy-id -i /root/.ssh/id_rsa.pub -p 8888

1
2
3
4
5
这里把写上公钥的具体路径
![](http://images2015.cnblogs.com/blog/658994/201703/658994-20170322162007752-705470887.jpg)

ssh 192.168.16.xx -p 8888

1
2
3
4
5
6
7
8
9
## 三、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 没有权限也可以立即执行

© 2018 Peter's Blog Center All Rights Reserved.
Theme by hiero