1.配置Linux的IP地址
通过修改网卡配置文件来永久修改IP地址
nmtui工具——网络配置工具
语法:nmtui
nmtui:NetworkManager Text-User Interface
网络配置工具,图形化工具
编辑链接:IP地址 子网掩码 网关 DNS
2.IP地址
IP地址主要有2个版本,V4版本和V6版本(V6很少用,课程暂不涉及)
IPv4版本的地址格式:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101
特殊IP:
127.0.0.1,这个IP地址用于指代本机
0.0.0.0,可以用于指代本机
可以在端口绑定中用来确定绑定关系(后续讲解)
在一些白名单中表示任意IP,如放行规则设置为0.0.0.0,表示允许任意IP访问
2.IP命令
IP:Internet Protocol
执行权限:root
显示和设置网络路由、路由策略
1.查看IP地址——ip add
[root@localhost test2]# ip add # 或全写 ip address show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever #以上是lo本地回环网卡的信息 #以下是ens160网卡的信息 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:2e:77:af brd ff:ff:ff:ff:ff:ff #MAC地址 inet 192.168.6.123/24 brd 192.168.6.255 scope global noprefixroute ens160 #IP地址和子网掩码 valid_lft forever preferred_lft forever inet6 fe80::1bb4:96ec:d40f:8836/64 scope link noprefixroute valid_lft forever preferred_lft forever [root@localhost test2]#
2.查看路由器——ip route
[root@localhost test2]# ip route #或 全写ip route show default via 192.168.6.254 dev ens160 proto static metric 100 192.168.6.0/24 dev ens160 proto kernel scope link src 192.168.6.123 metric 100
3.临时设定IP地址和删除IP地址
ip address add 192.168.4.12 /24 dev ens33 #临时设定IP地址,永久用 nmtui工具 ip address del 192.168.4.12 /24 dev ens33 #删除IP地址
4.临时设定网关
ip route del default via 192.168.4.12 #删除网关
3.ifconfig命令——查看和临时修改IP地址
如无法使用ifconfig命令,可以安装:yum -y install net-tools
语法:ifconfig
ifconfig: configure a network interface
执行权限:root
配置网络接口
1.查看IP地址信息
[root@localhost test2]# ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.6.123 netmask 255.255.255.0 broadcast 192.168.6.255 inet6 fe80::1bb4:96ec
2.临时配置IP地址
[root@localhost test2]# ifconfig eth0 192.168.44.3 netmask 255.255.255.0 #配置ip地址,同时配置子网掩码
4. ifup 和 ifdown 命令——启用禁用网卡
ifdown eth0 #关闭 eth0 网卡
ifup eth0 #启用 eth0 网卡
5.ping命令
- 语法:ping 【选项】IP
- ping:send ICMP ECHO_REQUEST to network hosts,向网络主机发送 ICMP请求
- 选项
- -b:后面加入广播地址,用于对整个网段进行探测
- -c 次数:用于指定ping 的次数
- -s 字节:指定探测包的大小
- 探测与指定主机的通信
[root@localhost test2]# ping -c 1 192.168.6.2 PING 192.168.6.2 (192.168.6.2) 56(84) bytes of data. From 192.168.6.123 icmp_seq=1 Destination Host Unreachable
- 指定ping的次数
- 探测网段中额可用主机
[root@localhost test2]# ping -b -c 1 192.168.6.255 WARNING: pinging broadcast address PING 192.168.6.255 (192.168.6.255) 56(84) bytes of data. 64 bytes from 192.168.6.144: icmp_seq=1 ttl=64 time=0.418 ms --- 192.168.6.255 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.418/0.418/0.418/0.000 ms
6.netstat 命令——查看网络状态
- 命令: netstat【选项】
- netstat : print network connections,routing tables,interface statistics,masquerade connections,and multcast memberships
- 选项:
- -a:列出所有网络状态,包括Socket
- -c秒数 :指定每隔几秒刷新一次网络状态
- -n:使用IP地址和端口号显示,不适用域名和服务名
- -p:显示PID和程序名
- -t:显示TCP端口的连接状况
- -u:显示UDP端口的连接状况
- -l:仅显示监听状态的连接
- -r:显示路由表
- 执行权限:所有用户
- 功能: 输出网络连接、路由表、接口统计、伪装连接和组播成员
1.netstat -tuln:查看本机开启的端口
2.netstat -tulnp:查看本机有哪些程序开启的端口
3.netstat -an:查看所有连接
[root@localhost ~]# netstat -tuln #查看本机开启的端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN [root@localhost ~]# netstat -tulnp #查看本机有哪些程序开启的端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 926/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1086/master [root@localhost ~]# netstat -an #查看所有连接 Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 192.168.6.123:22 192.168.6.59:60637 ESTABLISHED tcp6 0 0 :::3306 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN raw6 0 0 :::58 :::* 7 Active UNIX domain sockets (servers and established) #Socket程序产生的连接 Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 68062053 /var/lib/mysql/mysql.sock unix 3 [ ] DGRAM 7478 /run/systemd/notify unix 2 [ ACC ] STREAM LISTENING 18547 private/bounce
7.ss命令类似netstat 命令
- 命令:ss 【选项】
- 选项
- -a:列出所有网络状态,包括Socket
- -n:使用IP地址和端口号显示,不适用域名和服务名
- -p:显示PID和程序名
- -t:显示TCP端口的连接状况
- -u:显示UDP端口的连接状况
- 执行权限:root
1.-an:查看本机所有网络连接
2.-tu:查询本机开启的端口
3.-a:查看本机开启的端口与正在进行的连接
[root@localhost ~]# ss -an Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port [root@localhost ~]# ss -tu Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port tcp ESTAB 0 0 192.168.6.123:ssh 192.168.6.59:60637 [root@localhost ~]# ss -tuan Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 127.0.0.1:323 *:* udp UNCONN 0 0 [::1]:323 [::]:* tcp LISTEN 0 128 *:22 *:* tcp LISTEN 0 100 127.0.0.1:25 *:* tcp ESTAB 0 52 192.168.6.123:22 192.168.6.59:60637 tcp LISTEN 0 80 [::]:3306 [::]:* tcp LISTEN 0 128 [::]:22 [::]:* tcp LISTEN 0 100 [::1]:25 [::]:*
8.write命令——给指定用户发送信息
在服务器上,有时会有多个用户同时登录,一些必要的沟通就显得尤为重要。比如,我必须关闭某个服务,或者需要重启服务器,当然需要通知同时登录服务器的用户,这时就可以使用 write 命令。
命令:write 用户名 【终端号】
- 命令名称:write。
- 英文原意:send a message to another user。
- 所在路径:/usr/bin/write。
- 执行权限:所有用户。
- 功能描述:向其他用户发送信息。
[root@localhost ~]# write 用户名 [终端号] [root@localhost ~]# who am i [user1@localhost root]$ write root pts/2 hello # ctrl d保存发送数据
9.wall命令——给所有登录用户发送信息
[user1@localhost root]$ wall "hello"
10.mail命令——发送和接收电子邮件
- 命令:mail
- mail:英文原意:send and receive Internet mail。
- 执行权限:所有用户。
- 功能描述:发送和接收电子邮件。
1.发送邮件
[root@localhost ~]# mail userl Subject: hello <-邮件标题 Nice to meet you! <-邮件具体内容 . <-使用.来结束邮件输入 #发送邮件给user1用户,接收邮件保存在"/var/spod/mail/用户名"中 #每个用户都有一个以自己的用户名命名的邮箱。
2.发送文件内容
[root@localhost ~]# mail -s "test mail" root </root/ anaconda-ks.cfg #把/root/anaconda-ks.cfg文件的内容发送给root用户 #-s: 指定邮件标题
3.查看已经接收的邮件
[root@localhost ~]# mail Heirloom Mail version 12.4 7/29/08.Type ?for help. "/var/spool/mail/root": 1 message 1 new >N 1 root Mon Dec 5 22:45 68/1777 "test mail"<-之前收到的由件 >N 2 root Mon Dec 5 23:08 18/602 "hello" #未阅读编号发件人 时间 标题 & <-等待用户输入命令 # "N"代表未读邮件;数字是邮件的编号,通过编号来进行邮件的操作
11 .hostname ——主机名 查看和修改
• 命令: hostname 查看主机名
• 命令: hostnamectl set-hostname 主机名,修改主机名( 需root )[root@localhost test2]# hostname localhost.localdomain [root@localhost test2]# hostnamectl set-hostname ww
12.域名解析
域名解析:就是主机名映射,通过主机名找到对应计算机的IP地址
先通过系统本地的记录去查找,如果找不到就联网去公开DNS服务器去查找
www.baidu.com的流程如下:
即:
• 先查看本机的记录(私人地址本)
• Windows 看:C:\Windows\System32\drivers\etc \hosts
• Linux 看: / etc /hosts
• 再联网去DNS服务器(如 114.114.114.114 , 8.8.8.8 等)询问
13.虚拟机配置固定IP
虚拟机的Linux操作系统,其IP地址是通过DHCP服务获取的。
DHCP:动态获取IP地址,即每次重启设备后都会获取一次,可能导致IP地址频繁变更
配置固定IP需要2个大步骤:
1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)
设置子网范围(192.168.6.0)、子网掩码(255.255.255.0)、ip网关(192.168.6.2)
2.在Linux系统中手动修改网卡配置文件,固定IP
2.1.使用vim 编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens160
UUID=9881f4c7-e80e-4fbc-b422-2b920eebd4f8
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.6.123
NETMASK=255.255.255.0
GATEWAY=192.168.6.254
DNS1=221.179.155.177
DNS2=221.179.155.161
2.2.执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.13