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 ~]#