静态路由项目
1、网络中比较重要的协议
(1)DNF域名解析协议
ARP 交换机 主机------MAC地址
路由器 主机------IP地址
DNS域名 域名------IP地址
2、10.0.0.200 域名:www.baidu.com
3、购买自己的一个域名
区块链公司 买域名 BTCVC ZB.com
根域名服务器 大多是在国外 美国居多 日本 美国等 一共13台
顶级域名服务器
com(公司商业组织) cn(地区 中国居多) org edu等、
DNS优化 阿里云加速 百度云加速
4、企业真实的需求
(1)HOSTS文件
(2)内网DNS服务器
Linux服务器 DNS
本地服务器解析www.baidu.com
转发器
|------》主路由------》DNS------》公网IP DNS------》域名 实现外网访问。
Windows Server 2008R2
5、常见的网络命令
(1)ping 命令
ping 域名 DNS问题
pingwww.baidu.com无应答 DNS没有配置 DNS有问题
ping 公网IP
47.75.80.160
ping 网关
192.168.1.1
(2)iftop 监控网络流量用的
Linux服务器下用的 第三方命令
Yum install iftop -y
(3)企业网络出现问题的排查流程
第一步 检查硬件 网卡(灯) 网线(水晶头) 路由器(WAN LAN) 交换机
交换法
|-----》网线/网卡
第二步 ping网关(路由)
第三步 公网IP
第四步 DNS
第五步 ping自己服务器地址
6、静态路由项目
(1)准备三台虚拟机
第一台一块网卡 10.0.0.11
第二台二块网卡 10.0.0.12 192.168.0.12
第三台一快网卡 192.168.0.13
(2)第一台主机
从主机一10.0.0.11-----》主机2-----》192.168.0.12
跨网段访问 不认识
添加一条静态路由信息:route add –net 192.168.0.0/24 gw 10.0.0.12
route –n 查看路由表
ping 102.168.0.12 通了
看看192.168.0.13能不能通
10.0.0.11需要 10.0.0.12转发
192.168.0.13 需要 192.168.0.12进行转发
192.168.0.12
10.0.0.12 主机2 信息跟主机2没关系
echo “net.ipv4.ip_forward=1”>>/etc/sysctl.conf
sysctl -p
三剑客:
grep 过滤
-E
支持扩展正则===egrep
-o
只显示匹配到的内容 显示grep执行过程
-v
取反
-i
不区分大小写 ignore case find /oldboy -type f -iname "*.txt"
-n
显示行号 cat -n
-w
按照单词进行匹配
-A
9 after 显示grep找出的行及接下来的 9行
-B
9 before
-C
9 上下
-r
-l (小写字母L)
-P ??
sed 过滤 替换 修改文件内容 增删改查
awk 过滤 取列 统计计算
三剑客
grep
sed
awk
Unix中在当前目录下所有.cc 的文件中找到含有“asiainfo”内容的文件,命令为_______
找出当前目录下包含127.0.0.1关键字的文件?
写出查询file.txt以abc结尾的行
grep 'abc$' file.txt
写出删除abc.txt文件中的空行
mkdir -p /oldboy/alex/
for n in {1..5}
do
echo "oldboy 127.0.0.1" >/oldboy/$n.cc
echo "oldboy 127.0.0.1" >/oldboy/alex/$n.cc
done
Unix中在当前目录下所有.cc 的文件中 找到含有“asiainfo”内容的文件,命令为_______
find
find .
find /oldboy/ -type f -name "*.cc" |xargs grep 'asiainfo'
grep 'asiainfo' /oldboy/*.cc
find命令可以找出这个目录下面所有层的内容
[root@oldboyedu ~]# find /oldboy/ -type f -name "*.cc" |xargs grep 'oldboy'
/oldboy/alex/1.cc:oldboy 127.0.0.1
/oldboy/alex/2.cc:oldboy 127.0.0.1
/oldboy/alex/3.cc:oldboy 127.0.0.1
/oldboy/alex/4.cc:oldboy 127.0.0.1
/oldboy/alex/5.cc:oldboy 127.0.0.1
/oldboy/1.cc:oldboy 127.0.0.1
/oldboy/2.cc:oldboy 127.0.0.1
/oldboy/3.cc:oldboy 127.0.0.1
/oldboy/4.cc:oldboy 127.0.0.1
/oldboy/5.cc:oldboy 127.0.0.1
只用grep只能默认显示第1层
[root@oldboyedu ~]# grep 'oldboy' /oldboy/*.cc
/oldboy/1.cc:oldboy 127.0.0.1
/oldboy/2.cc:oldboy 127.0.0.1
/oldboy/3.cc:oldboy 127.0.0.1
/oldboy/4.cc:oldboy 127.0.0.1
/oldboy/5.cc:oldboy 127.0.0.1
找出当前目录下包含127.0.0.1关键字的文件?
grep -r '127.0.0.1' .
find
[root@oldboyedu ~]# grep -r 'oldboy' /oldboy/
/oldboy/test.sh:echo oldboy
/oldboy/alex/1.cc:oldboy 127.0.0.1
/oldboy/alex/2.cc:oldboy 127.0.0.1
/oldboy/alex/3.cc:oldboy 127.0.0.1
/oldboy/alex/4.cc:oldboy 127.0.0.1
/oldboy/alex/5.cc:oldboy 127.0.0.1
/oldboy/1.cc:oldboy 127.0.0.1
/oldboy/2.cc:oldboy 127.0.0.1
/oldboy/3.cc:oldboy 127.0.0.1
/oldboy/4.cc:oldboy 127.0.0.1
/oldboy/5.cc:oldboy 127.0.0.1
写出查询file.txt以abc结尾的行
写出删除abc.txt文件中的空行
基础
[root@oldboyedu /oldboy]# grep -v '^$' /oldboy/blank.txt
oldboy oldboy
oldboy
alex
lidao996
中级:文件中有些行包含空格(只有空格)
[root@oldboyedu /oldboy]# egrep -v '^
' /oldboy/blank.txt
oldboy oldboy
oldboy
alex
lidao996
究极:
^ *$理解
^
^ +
[root@oldboyedu /oldboy]# egrep -v '^ *$' /oldboy/blank.txt
oldboy oldboy
oldboy
alex
lidao996
待解释方法:
grep "!^$" abc.txt
! find sed awk中表示取反
egrep -v "(^$| )" blank
egrep -v "(^
)" blank
egrep -n "[0-z]" oldboy.txt
'[0-Z]'
[root@oldboyedu /oldboy]# egrep -n "[0-z]" blank.txt
1:oldboy oldboy
4: oldboy
6:alex
7:lidao996
egrep "[$]" blank.txt
过滤出不是以$符号开头的行
egrep "[^$]" blank.txt
[root@oldboyedu /oldboy]# egrep "[^$]" blank.txt
oldboy oldboy
oldboy
alex
lidao996
$$$$$$####oldboyedu.com
[root@oldboyedu /oldboy]# #排除$符号
egrep -n "[0-9]+|[a-Z]+" 1.cc
[0-9]+ 连续数字
[a-Z]+ 连续的字母(大小写)
cat file.txt|grep -v "^
"
cat file.txt|grep -v "^$" ××××× 脱裤子放屁
grep -v '^$' file.txt
1个英文的字符 占1个字节
1KB=1024字节
1MB=1024KB
1GB=1024MB=1024^3字节
sed "/[ ]/d" 555
sed "/^$/d" 555
三剑客老二-sed命令
https://www.processon.com/view/link/5bea32c5e4b0ad314e894f53
老男孩教育-sed命令执行过程
[root@oldboyedu /oldboy]# sed -n '1,5p' maav.txt
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@oldboyedu /oldboy]# sed -n '/101/,/105/p' maav.txt
101,oldboy,CEO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
sed命令的后向应用或反向引用 :
sed -r 's#()#\1#g'
核心: 先保护,后使用
先把你要的内容通过()括起来,然后在后面通过\数字 进行使用。
[root@oldboyedu /oldboy]# echo {1..10}| sed -r 's#([0-9]+)#<\1>#g'
<1> <2> <3> <4> <5> <6> <7> <8> <9> <10>
后向引用
题目1:
cp /etc/passwd /oldboy/
把 /oldboy/passwd 第1列和最后一列调换位置
题目2:取出里面的644或0644 sed后向引用方法
[root@oldboyedu /oldboy]# stat /etc/hosts
File: ‘/etc/hosts’
Size: 158 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 16829878 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-10-26 03:47:16.874000256 +0800
Modify: 2013-06-07 22:31:32.000000000 +0800
Change: 2019-03-04 11:15:49.426692303 +0800
Birth: -
题目1:
cp /etc/passwd /oldboy/
把 /oldboy/passwd 第1列和最后一列调换位置
[root@oldboyedu /oldboy]# sed -r 's#(^.)(:x.:)(.*$)#\3\2\1#g' /oldboy/passwd
/bin/bash:x:0:0:root:/root:root
/sbin/nologin:x:1:1:bin:/bin:bin
/sbin/nologin:x:2:2:daemon:/sbin:daemon
/sbin/nologin:x:3:4:adm:/var/adm:adm
/sbin/nologin:x:4:7:lp:/var/spool/lpd:lp
/bin/sync:x:5:0:sync:/sbin:sync
/sbin/shutdown:x:6:0:shutdown:/sbin:shutdown
/sbin/halt:x:7:0:halt:/sbin:halt
/sbin/nologin:x:8:12:mail:/var/spool/mail:mail
/sbin/nologin:x:11:0:operator:/root:operator