专栏首页星汉技术Linux基础之网络 原

Linux基础之网络 原

一、网络配置

1、ifconfig命令

ifconfig显示或设置网络设备,类似Windows下的ipconfig。

[root@localhost ~]# ifconfig
eth0   Link encap:Ethernet  HWaddr 00:0C:29:5E:8B:43  
          inet addr:192.168.93.128  Bcast:192.168.93.255 
          Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5e:8b43/64 Scope:Link

2、修改网卡名称

eth(Ethernet的缩写)新安装的虚拟机为eth0,为什么原来的eth0会变成eth1?

很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。

udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1 (累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。

[root@localhost ~]# vim /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:0f:fe:1a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5e:8b:43", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

如何把名字改回eth0?

udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules。

打开该文件,这时你会发现,里面有eth0,eth1 这两个网卡的信息,但实际上你ifconfig时只能发现eth1这一个网卡的信息,这时因为eth0根本就不存在。将其中eth0的信息删掉,并将eth1这行信息中的设备名改为eth0,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
[root@localhost ~]# service network restart

也等于:service network stop && service network start。 网卡配置文件:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

3、虚拟机的几种连接方式

1.NAT

NAT即为网络地址转换,通常它的名称为VMnet8,通过nat的连接方式可以使得虚拟机和真实机的网卡在不同的网段中,从而实现联网。

2.bridge

bridge即为桥接,通常它的名称为VMnet0,使用桥接的方式使得自己的虚拟机和自己的真实机网卡在同一个网段,从而实现联网。

3.Host-only

host-only即为仅主机,通常它的名称是VMnet1,使用host-only的方式是不能和外界通信的,只能够和本机的物理网卡通信。

修改网络链接方式后,记得执行以下命令:

[root@localhost ~]# service network restart/status/start/stop

二、网络操作

1、通过主机名查看ip

通过主机名查看IP使用命令为:host。

命令格式:host 主机名

示例:

[root@localhost ~]#host www.baidu.com

2、远程管理

1.远程拷贝

远程拷贝使用的命令为:scp。

命令格式:scp –r /home/demo root@服务器IP:/root

将本地的demo目录拷贝到服务器IP的/root目录下。

2.远程登录

远程登录使用的命令为:ssh。

命令格式:ssh  用户名@服务器IP

从本机中登录远程服务器。 示例: 将本地的/root目录下的erlang-solutions-1.0-1.noarch.rpm拷贝到192.168.93.129的/root目录下。

[root@localhost ~]# scp /root/erlang-solutions-1.0-1.noarch.rpm root@192.168.93.129:/root

从当前虚拟机(61)中ssh到192.168.80.62中,创建一个文件,查看;退出后再次查看。

[root@localhost ~]#ssh  root@192.168.80.62
[root@localhost ~]#touch  61dcyy
[root@localhost ~]#ls
[root@localhost ~]#logout
[root@localhost ~]#ls

3.SSH远程免密登录

在服务器上每次ssh别的服务器都需要输入密码,如果解决这种麻烦的操作?

SSH最常用的Linux远程登录工具。

免密码登录设置(在集群管理等场景会经常使用到):

RSA:非对称加密算法,秘钥对分为公钥、私钥,对公钥加密的内容,只有拥有私钥者才可解密。

免密码操作

具体实现方法,客户端执行生成公钥/私钥对(70)  #70是虚拟机的IP地址。

ssh-keygen

将公钥拷贝到服务器端(71)

ssh-copy-id  <username>@<server>
[root@localhost ~]#ssh  root@192.168.80.71

示例:

#生成秘钥
[root@hadoopFD ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
1e:d3:25:9d:83:56:ba:c2:20:35:d4:b6:42:4e:92:fe root@hadoopFD
The key's randomart image is:
+--[ RSA 2048]----+
|     o+.    .    |
|    o.o.o  = .   |
|   ..=.. .= =    |
|    ..oo.o + .   |
|     . .S o      |
|      E. +       |
|        .        |
|                 |
|                 |
+-----------------+
#拷贝秘钥
[root@hadoopFD ~]# ssh-copy-id root@192.168.75.150
root@192.168.75.150's password: 
Now try logging into the machine, with "ssh 'root@192.168.75.150'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.
#远程登录
[root@hadoopFD ~]# ssh 192.168.75.150
Last login: Fri May 25 04:09:14 2018 from 192.168.75.10
#免密登录成功
[root@hadoop ~]# 

图片详解:

下面重点说一下,这段话:

这是拷贝之后的正常提示内容,不是什么错误信息,我把汉语意思写上了。曾经有人问我这段话是什么错误,我很无语啊!

3、网络下载

网络下载使用的命令为:wget。

命令格式:wget [参数] [URL地址]

用于从网络上下载资源,没有指定目录,下载资源默认存储到当前目录。

–支持断点下载功能

–同时支持FTP和HTTP下载方式

–支持代理服务器

示例:

#使用wget下载单个文件
wget http://www.tedu.cn
#使用wget -O下载并以不同的文件名保存
wget -O newname.new  http://www.tedu.cn
#使用wget --limit-rate限速下载(单位,byte/秒)
wget --limit-rate=300k  http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.34.tar.bz2
#使用wget -c断点续传
wget -c http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.25.tar.bz2
#使用wget -b后台下载
wget -b http://mirrors.hust.edu.cn/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz
wget  http://mirrors.hust.edu.cn/apache//httpd/mod_fcgid/mod_fcgid-2.3.9.tar.gz
#使用wget -i下载多个文件
wget -i urlfile.txt

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux基础之进程 原

    操作系统的一个重要功能就是为进程提供方便,比如启动进程、为进程分配内存空间、管理进程的相关信息等等。

    云飞扬
  • Linux中基本命令 原

    3、man 命令:enter按行翻,空格按页翻;HOME/END键可以快速到首页/尾页(SecureCRT中无效);查找按 /要查找的内容,查找 下一个/上一个...

    云飞扬
  • Linux基础之权限 原

    chmod [-cfRv][--help][--version][<权限范围>+/-/=<权限设置...>][文件或目录...]

    云飞扬
  • Linux开发环境第三方库规划

    让工作变得有条理,不乱糟糟,即使存在大量的第三方,也有章可循。简而言之,就是要保持目录的干净(如/usr/local目录),保持文件的干净(如profile文...

    一见
  • shell脚本一步完成多层ssh跳转时的文件传输

    由于工作中,经常需要ssh连接到产线服务器进行代码调试。中间经过3层,4层甚至更多层跳转。这就导致在实际操作时常常面临两个问题:

    PedroQin
  • 使用docker搭建一套开发环境全家桶

    DNMP(Docker + Nginx + MySQL + PHP7/5 + Redis)是一款全功能的LNMP一键安装程序。支持的服务丰富、功能强大、使用简单...

    A梦多啦A
  • Linux工作目录切换命令

    心跳包
  • LeetCode 538. 把二叉搜索树转换为累加树(逆中序 根右左)

    给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值...

    Michael阿明
  • Linux系统是否被植入木马的排查流程梳理

    在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节。今天,分享一下如何检查linux系统是否遭受了入侵? 一、是否入侵检查 1)检查系统...

    洗尽了浮华
  • Linux之安装Tomcat8 原

        修改List-5的server.xml,将port的值修改为其它值就可以了,默认值是8080

    克虏伯

扫码关注云+社区

领取腾讯云代金券