搭建小系统
来源:互联网 发布:排序算法复杂度比较 编辑:程序博客网 时间:2024/05/21 20:24
一、目的
搭建拓扑,进行转发通信等操作,拓扑图如下图所示。
其中,中间四台节点主要是负责数据的转发,里面加载rip协议进行路由的控制。
二、配置网口
首先需要ping通这六台机器,先要对各个节点的网口进行配置,如图所示,采用上述标记的网址进行配置,配置方法如下。
1. 可以进入/etc/sysconfig/network-scripts/的目录下,查看目录下的文件,其中例如ifcfg-ge0、ifcfg-ge1、ifcfg-ge2……都是系统对网口的配置文件。打开其中一个进行查看。
其中里面含有网口的物理地址,IP地址。还有一些其他的属性,这里就不做详细的介绍了。这种配置的方法是开机自启动,方便。
2. 直接在命令行进行配置。ifconfigge0 192.168.1.1/24 up.但是比较麻烦这种方法。
3. 写shell脚本,对网口进行启动。将需要的启动的网口的命令写在文件里面,修改文件的属性权限,执行该脚本即可。
在任何一个目录下创建一个文本。
vimport
进入port文本中,将需要的启动网卡命令写在里面,退出保存。接着就是通过chmodu+x port这个命令,改变文件的操作权限,就是将所有者的执行权限打开,再通过./port这个命令运行该脚本,再查看网口信息,网口已经配好了刚才写在脚本里面的命令。这种方法一劳永逸,而且可以不破坏系统文件的内容,推荐!!!!
三、配置rip协议
第一步网口的配置已经完成,下一步需要能够各个节点之间需要相互通信,可以采用配置静态路由,但是太麻烦,所以我们采用是配置动态路由协议,这里面用rip协议,从quagga的官网上下载quagga文件,quagga文件里面是一些路由协议——rip、ospf、bgp等等。实现的原理都是相同的,所以我们采用rip协议。
实现的方法是:
1. 将下载的quagga-0.99.24.1.tar.gz拷贝到自建的目录下,在该目录下解压文件,
tarzxvf quagga-0.99.24.1.tar.gz
2. 进入解压后的文件中
cd quagga-0.99.24.1
3. 生成Makefile文件。
./configure --enable-ipv6 --enable-zebra--enable-ripd --enable-ripngd --enable-ospfd --enable-ospf6d --enable-bgpd--enable-vtysh --enable-isisd --enable-user="root"--enable-group="root" --enable-vty-group="root"
后面的enable是可选的,必选的项目是为--enable-zebra--enable-vtysh --enable-user="root" --enable-group="root"--enable-vty-group="root"
4. 编译安装
make
make install
5. 以上步骤就是完成了安装,首先复制配置文件。
6. 在运行zebra
./zebra & (&是后台运行的意思)
7. 运行ripd
cd ../ripd
./ripd &
8. 进入vtysh中,配置路由信息。
cd ../vtysh
./vtysh
之后运用shift+?的组合,查看需要输入的命令。
这样之后,将所有的节点都配置好,就可以开启转发操作,如果开始不可以,查看节点是否开启转发。
查看方法:
cat /proc/sys/net/ipv4/ip_forward
如果显示为0,则没有开启转发。
开启方法:
echo 1 >/proc/sys/net/ipv4/ip_forward
这样之后,就可以保证所有的节点可以两两互通。
四、用一台机器通过套接字进行控制
用到system()函数,一台服务器,一台客户端,服务器向客户端发送命令,客户端就会执行服务器的指令。
System()函数介绍:
system(执行shell命令)
fork,execve,waitpid,popen
表头文件
#i nclude<stdlib.h>
定义函数
intsystem(const char * string);
函数说明
system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD信号会被暂时搁置,SIGINT和SIGQUIT信号则会被忽略。
返回值
=-1:出现错误
=0:调用成功但是没有出现子进程
>0:成功退出的子进程的id
- 搭建小系统
- 编译系统搭建 小例子 ----- ydb
- 用Tomcat搭建一个小的web系统
- django小项目:搭建简易火车车票预订系统
- 搭建系统
- 系统移植-系统搭建
- Web应用——驾培管理系统之框架搭建(作者:小圣)
- 小窝搭建
- ssh搭建小笔记
- prestoDB搭建小得
- jekins搭建小窍门
- 小经验总结-maven搭建
- 搭建商城小程序
- 小系统小知识(1)
- 小系统小知识(2)
- 小系统小知识(3)
- 搭建嵌入式系统
- BLOG系统搭建备忘
- AFNetWorking在IOS9 请求数据失败解决方案
- 全面理解Javascript闭包和闭包的几种写法及用途
- 使用python的列表解析以及函数式计算来简化代码
- 装系统出现error cannot load file code 5555h 该如何解决
- [python]对self和_init_的理解
- 搭建小系统
- 深入浅出讲解:php的socket通信
- IOS上如何画出1像素的线
- Json-lib的简单使用
- C++ 覆盖 重载 隐藏 浅析
- 《JAVA程序设计》日志二
- java jdbc 连接 class.forname("driver")
- CSS经验
- Jmeter插件JMeterPlugins