14、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
1. 使用ifconfig查看网卡配置信息,看主要使用的网卡名称
2. 到/etc/sysconfig/network-scripts/目录下查找对应的网卡配置文件
3. 主要配置项
DEVICE(设备名称)
TYPE(设备类型。端口为Ethernet)
ONBOOT(系统启动时读取)
BOOTPROTO=static(ip配置协议。当前为静态ip,可设置DHCP,)
IPADDR(ip地址)
NETMASK(子网掩码)
GATEWAY(网关地址)
DNS1(DNS服务器地址)
4. 重启网络服务 servicenetwork restart
5. 在CLI中输入ping www.magedu.com/测试网络连接
15、为Linux主机配置网络信息的方式有哪些,请描述各个过程。
l ifconfig eth0 IP/mask
l ip addr add IP device eth0
l Linux网络属性配置的tui(textuser interface):system-config-network-tui
l 使用setup图形界面设置
16、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
不在线的主使用红色显示;
#!/bin/bash
#
for i in {1..254};do
ping -c 1 -w 1 "192.168.1.$i" > /dev/null
if [ $? -eq 0 ];then
echo -e "\033[0;32;1m 172.16.250.$i is up \033[0m"
else
echo -e "\033[0;31;1m 172.16.250.$i is down \033[0m"
fi
done
17、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
ifconfig
常见用法:
查看网卡信息:ifconfig [interface]
查看所有网卡信息:ifconifg -a
开启或关闭网卡:ifconfig IFACE [up|down]
配置网卡参数:ifconfig interface [aftype] options | address ...
配置网卡IP地址:
ifconfig IFACE IP/mask [up]
ifconfig IFACE IP network MASK
[root@localhost ~]# ifconfig
eno16777736:flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet192.168.2.108 netmask 255.255.255.0 broadcast 192.168.2.255
inet6fe80::20c:29ff:fe0d:4a8b prefixlen64 scopeid 0x20<link>
ether00:0c:29:0d:4a:8b txqueuelen 1000 (Ethernet)
RX packets6681 bytes 455288 (444.6 KiB)
RX errors0 dropped 0 overruns 0 frame 0
TX packets 1627 bytes 268207 (261.9 KiB)
TX errors0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets4 bytes 340 (340.0 B)
RX errors0 dropped 0 overruns 0 frame 0
TX packets4 bytes 340 (340.0 B)
TX errors0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether52:54:00:47:81:6c txqueuelen 0 (Ethernet)
RX packets0 bytes 0 (0.0 B)
RX errors0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors0 dropped 0 overruns 0 carrier 0 collisions 0
说明:
eno16777736:表示当前使用的网卡,
flags=4163<UP,BROADCAST,RUNNING,MULTICAST> 标志状态
mtu 1500:最大数据包大小为 1500bytes
网卡的IPv地址:inet192.168.2.108,
子网掩码:netmask 255.255.255.0,
广播地址:broadcast 192.168.2.255,
网卡的IPv6地址:inet6fe80::20c:29ff:fe0d:4a8b
网卡物理地址(MAC地址):ether00:0c:29:0d:4a:8b
lo:表示主机的回坏地址的相关信息。
virbr0:表示虚拟机桥接网络的相关信息。
示例3:配置IP地址
1.给ens33网卡配置IP地:192.168.2.156
[root@localhost ~]# ifconfig ens33 192.168.2.156
ip:显示/配置路由,接口,策略路由和隧道
常见用法:
网卡添加多一个IP地址,并设置别名为eth0:0
ipaddr IPADDR/MASK dev eth0 label 'eth0:0'
显示网卡设备的信息: ipaddr show
清除IP地址信息:ip addr flush dev interface
添加路由:ip routeadd TARGET via GW dev INTERFACE src SOURCE_IP
删除单条路由: iproute del TARGET
示例:
[root@wangyafei ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:65:87:db brd ff:ff:ff:ff:ff:ff
inet 192.168.2.107/24 brd 192.168.2.255 scope global dynamic ens33
valid_lft 4860sec preferred_lft 4860sec
inet6 fe80::1efb:59d6:3462:a123/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 52:54:00:26:96:17 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
link/ether 52:54:00:26:96:17 brd ff:ff:ff:ff:ff:ff
[root@wangyafei ~]#
route:路由管理命令
查看路由条目:route-n
添加路由条目:routeadd
route add [-net|-host] target[netmask Nm] [gw Gw] [[dev] if]
删除路由:routedel
route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]
示例
[root@wangyafei ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 100 0 0 ens33
192.168.2.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@wangyafei ~]#
netstat:显示网络连接、路由表、接口数据统计、伪装连接、组播成员关系
常用选项:
-t : 显示TCP协议相关已建立的连接(ESTABLISHED)
-u : 显示UDP协议相关已建立的连接(ESTABLISHED)
-r : 显示raw socket(裸套接字)相关已建立的连接(ESTABLISHED)
-l : 处于监听状态的连接
-n : 以数字显示IP和协议端口(默认显示协议名称,如SSH)
-a : 显示所有状态的连接
-e : 扩展格式
-p : 显示相关进程及PID
常用组合:
-tan , -uan , -tnl, -unl,-tunlp
示例
[root@wangyafei ~]# netstat -t
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 52 wangyafei:ssh 192.168.2.100:49291 ESTABLISHED
[root@wangyafei ~]# netstat -u
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 wangyafei:58937 85.199.214.101:ntp ESTABLISHED
udp 0 0 wangyafei:48190 161.53.131.133:ntp ESTABLISHED
ss:网络状态查看工具
常见选项:
-t : tcp协议相关
-u : udp协议相关
-w : 裸套接字相关
-x : unix sock相关
-l : listen状态的连接
-a : 所有
-n : 数字格式
-p : 相关的程序及PID
-e : 扩展的信息
-m : 内存用量
-o : 计时器信息
常用组合:
-tan , -tanl , -tanlp ,-uan,-tunlp
[root@wangyafei ~]# ss -tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
ESTAB 0 52 192.168.2.107:22 192.168.2.100:49291
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 128 ::1:631 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 ::1:6010 :::*
[root@wangyafei ~]#
18、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;
#!/bin/bash
declare -i k=0,s=0
for i in $(ls /etc/rc.d/rc3.d/K* | grep -o "[^/]*$");do
echo "$i stop"
let k++
done
for j in $(ls /etc/rc.d/rc3.d/S* | grep -o "[^/]*$");do
echo "$j start"
let s++
done
echo "S开头的文件有$s个"
echo "K开头的文件有$k个"
19、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;
#!/bin/bash
#
for ((i=20;i<=100;i++));do
ping -w 1 -c 1 172.16.250.$i &>/dev/null
if [ $? -eq 0 ];then
echo "172.16.250.$i online"
fi
done
20、打印九九乘法表;
[root@wangyafei ~]# vim test11.sh
[root@wangyafei ~]# cat test11.sh
#!/bin/bash
#Authen:wangyafei
i=1
j=1
for i in {1..9};do
for j in $(seq 1 $i);do
echo -e -n "${i}*${j}=$[$i*$j]\t"
done
echo
done
[root@wangyafei ~]# bash test11.sh
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
[root@wangyafei ~]#