这是网络程序设计课程的第一次作业的博客,由于还是小白,分享的内容都是比较基础的东西,希望看到的各位同学可以提出指导意见,必将虚心听取。
这次分享的内容是网络配置工具iproute2和net-tools的原理和基本使用方法,由于之前未接触过这方面的东西,因此都是对基本命令进行验证并给出自己的一点思考。
一、原理
网络配置工具是用来检测网络状态及配置相关信息的辅助性工具,iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包,出现目的是替代老工具链net-tools,查阅一些资料获悉,net-tools是通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2通过netlink套接字接口与内核通讯,在多个任务的情况下,iproute的效率会更高,这两个与内核通信的不同方式便是这两个工具链的最本质区别。
二、基本使用
1、ip addr show(ip a)和ifconfig -a的作用一样,可以查看网卡设备
ip a,可以看到有两个网卡,ens33这个网卡的up显示网络连接正常
2、启用网络设备 sudo ip link set up ens33
3、配置临时ip
(1)iproute2配置临时sudo ip addr add 192.168.1.100/24 dev ens33,这种方式添加的临时的,设备重启后会被释放
(2)net-tools的方式:需要加别名才不会覆盖原来的ip地址,否则是会覆盖的
4、删除临时ip
(1)sudo ip addr del 192.168.1.100/24 dev ens33
(2)sudo ifconfig ens33:0 192.168.1.101/24 down
5、修改mac地址(也是临时的)
不常用,实际上修改的也不是物理地址,而是虚拟的物理地址
sudo ip link set dev ens33 address 00:ff:ff:ff:ff:ff
6、查看路由
(1)ip route show(ip r) 可以看到该路由器的默认路由和两条默认路由
(2)route -n 0.0.0.0是指任何ip目的地址,都需要先转发到默认路由
7、设置默认路由
(1)删除默认路由后,没有默认路由则不能上网
(2)sudo ip route add default via 192.168.8.1 dev ens33
设置了默认路由后才能联网,注意默认路由不能随便设置
若使用不正确的默认路由,则会全部丢包
(3)net-tools的方法设置路由
8、查看ARP信息
(1)ip neigh (ip n)
(2)arp -an
9、查看本地TCP监听
(1)ss -ltp
可以看到上面本地启动了两个连接的服务,分别是ssh和ipp协议,后面的两行是一样的,不过他们使用的是ipv6
(2)netstat -tnlp,加了n之后会把ssh和ipp协议转成端口号
(3)这两个工具的主要区别就是在这里,iproute2使用的ss连接,net-tools使用的是原始的
10、查看所有的tcp连接
(1)ss -tn
(2)netstat -nt
三、总结
这是第一次写博客,也是第一次学网络相关命令,由于基础还不好,整个学习过程中花了很多时间去研究相关命令出现的错误。不过还是学到很多东西,对计算机网络上面的理论知识有了更加深刻的理解,以前觉得那些知识只是理论上这个样子,离我们很远,经过这次的学习,我知道了计算机学科作为应用学科的意义,我们的理论知识就是来自于实际,理论怎样描述的,计算机实际上就是怎样工作。希望通过自己的坚持学习,能够从小白变成一个真正的技术人!