【libuci 源码】【奇迹内存连击源码】【副图源码分析】pppd 2.4.3源码

来源:html源码seo

1.华硕RT-AC1200GU 导致光猫断网,源码到底是源码什么问题?求各路大佬看看
2.刚换了闪讯联网不会,求指教 系统是源码ubuntu14.04
3.如何组建校园网

pppd 2.4.3源码

华硕RT-AC1200GU 导致光猫断网,到底是源码什么问题?求各路大佬看看

       首先保证路由器设置正确。

       一、源码电脑IP地址设置问题

       (1)、源码libuci 源码连接路由器上网时,源码需要把电脑上的源码IP地址设置为自动获得(动态IP)。

       电脑动态IP地址配置

       (2)、源码如果你的源码网络中,管理员要求使用固定IP地址上网,源码则请在本地连接中,源码填写正确的源码IP地址、子网掩码、源码网关和DNS服务器地址。源码

       二、奇迹内存连击源码检查下网络是否正常。

       1、首先打开电脑管家,选择工具箱。

       2、选择网络修复工具。

       3、点击立即修复.

刚换了闪讯联网不会,求指教 系统是ubuntu.

       浙江童鞋么 试试这个

1、新建一个C文件:snplugin.c 

       代码如下: 

       #include <stdio.h> 

       #include <stdlib.h> 

       #include <time.h> 

       #include <string.h> 

       #include <pppd/pppd.h> 

       #include <pppd/md5.h> 

       typedef unsigned char byte; 

       char pppd_version[] = VERSION; 

       static int is_name_modified = 0; 

       static char pwd[MAXSECRETLEN] = { 0}; 

       static option_t options[] = {  

       {  "pwd", o_string, pwd, 

       "pwd", 

       OPT_STATIC, NULL, MAXSECRETLEN-1 }, 

       {  NULL } 

       }; 

       void getPIN(byte *userName, byte *PIN) {  

       //var 

       int i;//循环变量 

       long timedivbyfive;//时间除以五 

       time_t timenow;//当前时间,从time()获得 

       byte RADIUS[];//凑位字符 

       byte timeByte[4];//时间 div 5 

       byte beforeMD5[];//时间 div 5+用户名+凑位 

       MD5_CTX md5;//MD5结构体 

       byte afterMD5[];//MD5输出 

       byte MDH[2]; //MD5前两位 

       byte MD[3]; 

       byte timeHash[4]; //时间div5经过第一次转后后的值 

       byte temp[]; //第一次转换时所用的临时数组 

       byte PIN[6]; //PIN的2到7位,由系统时间转换 

       //code 

       memcpy(RADIUS, "chongqingradius1", ); 

       timenow = time(NULL); 

       timedivbyfive = timenow / 5; 

       for(i = 0; i < 4; i++) {  

       timeByte = (byte)(timedivbyfive >> (8 * (3 - i)) & 0xFF); 

       } 

       for(i = 0; i < 4; i++) {  

       beforeMD5= timeByte; 

       } 

       for(i = 4; i < ; i++) {  

       beforeMD5 = userName[i-4]; 

       } 

       for(i = ; i < ; i++){  

       beforeMD5 = RADIUS[i-]; 

       } 

       MD5_Init(&md5); 

       MD5_Update (&md5, beforeMD5, ); 

       MD5_Final (afterMD5, &md5); 

       MDH[0] = afterMD5[0] >> 4 & 0xF; 

       MDH[1] = afterMD5[0] & 0xF; 

       sprintf(MD,"%x%x",MDH[0],MDH[1]); 

       for(i = 0; i < ; i++) {  

       temp = timeByte[( - i) / 8] & 1; 

       timeByte[( - i) / 8] = timeByte[( - i) / 8] >> 1; 

       } 

       for (i = 0; i < 4; i++) {  

       timeHash = temp *  + temp[4 + i] *  + temp[8 + i] 

       *  + temp[ + i] *  + temp[ + i] * 8 + temp[ + i] 

       * 4 + temp[ + i] * 2 + temp[ + i]; 

       } 

       temp[1] = (timeHash[0] & 3) << 4; 

       temp[0] = (timeHash[0] >> 2) & 0x3F; 

       temp[2] = (timeHash[1] & 0xF) << 2; 

       temp[1] = (timeHash[1] >> 4 & 0xF) + temp[1]; 

       temp[3] = timeHash[2] & 0x3F; 

       temp[2] = ((timeHash[2] >> 6) & 0x3) + temp[2]; 

       temp[5] = (timeHash[3] & 3) << 4; 

       temp[4] = (timeHash[3] >> 2) & 0x3F; 

       for (i = 0; i < 6; i++) {  

       PIN = temp + 0x; 

       if(PIN>=0x) {  

       PIN++; 

       } 

       } 

       PIN[0] = &#;\\r&#;; 

       PIN[1] = &#;\\n&#;; 

       memcpy(PIN+2, PIN, 6); 

       PIN[8] = MD[0]; 

       PIN[9] = MD[1]; 

       strcpy(PIN+, userName); //与Cracker.rar里面的有点出入。原来的代码采用硬编码不适合杭电 

       } 

       static int pap_modifyusername(char *user, char* passwd) 

       {  

       byte PIN[MAXSECRETLEN] = { 0}; 

       if (!is_name_modified) {  

       getPIN(user, PIN); 

       strcpy(user, PIN); 

       is_name_modified = 1; 

       } 

       if (passwd != NULL) {  

       strcpy(passwd, pwd); 

       } 

       return 1; 

       } 

       void plugin_init(void) 

       {  

       add_options(options); 

       pap_passwd_hook = pap_modifyusername; 

       } 

       2、在终端中运行如下2句命令: 

       gcc -c -O snplugin.c -fPIC 

       gcc -shared -o snplugin.so snplugin.o 

       注:运行这两句命令之前,确认2点: 

       (1)、副图源码分析是否安装了编译环境,没有的请先运行 

       sudo apt-get install build-essential autoconf automake1.9 cvs subversion 

       (2)、是否安装了ppp和ppp-devel,没有的可在新立得里搜索ppp得到,安装 

       3、接下来拷贝文件 

       位系统:cp snplugin.so /usr/lib/pppd/2.4.4/ 

       位系统:cp snplugin.so /usr/lib/pppd/2.4.4/ 

       4、新建名为sxnet的文件,内容如下: 

       # /etc/ppp/peers/sxnet 

       plugin rp-pppoe.so 

       plugin snplugin.so 

       # network interface 

       eth0 

       #usepeerdns 

       #persist 

       debug 

       defaultroute 

       hide-password 

       noauth 

       nodetach 

       注:usepeerdns可有可无;persist可有可无;debug如果可以用了,可以注释掉;nodetach如果可以用了,请注释掉 

       5、终端运行: 

       sudo cp sxnet /etc/ppp/peers 

       6、新建文件:ip-up.local内容如下: 

       #!/bin/bash 

       route add default dev ppp0 

       #route add default dev $1 

       7、终端运行: 

       sudo cp ip-up.local /etc/ppp/ 

       sudo chmod a+x /etc/ppp/ip-up.local 

       8、ok,接下就可以拨号上网了: 

       终端运行:sudo pppd call sxnet name "这里填你的欧洲离中国源码用户名" pwd "这里填密码&quot

如何组建校园网

       学校要组建自己的局域网,因为既要考虑到不同单位,不同院系的需要,也要考虑学生和教学工作的统筹安排,所以相对于一般的组建局域网来说,规模更大,难度也更大一些,那么如何组建校园网呢?下面详细的为您介绍相关知识,希望对您能有所帮助!

       一、网络规划:

       交换机为Cisco,划分为3个VLAN,VLAN给办公室用,VLAN给教室用,VLAN为服务器区域,将交换机的第口置为trunk模式(VLAN中继线)。

       网关机采用Linux系统,源码怎么编译dll安装有两块卫星卡,通过两个Modem拨号并建立***,给cqs分配子网为..9.0/,教室为...0/,服务器区域为..5.0/。

       另外要求cqs在9:——:能够上网,Classroom在:——:能够上网,并且每个子网都可以访问..5.0/内的web服务器。

       教室不能访问办公室。

       二、Cisco交换机上VLAN的配置:

       在Cisco交换机上,将1—8号端口设置为VLAN,将9—号端口设置为VLAN,将—号端口设置为VLAN,将号端口设置为VLAN1以便管理交换机。将号端口设置为中继线路。

       VLAN的划分采用一般方法即可,这里需要强调的是中继线路的配置:

       Cisco#conf t (进入全局配置模式)

       Cisco(config)#interface fastEthernet0/ (进入号端口配置模式)

       Cisco(config-if)#switchport mode trunk (将号端口设置为中继模式)

       Cisco(config-if)#switchport trunk encapsulation dotlq (将数据帧的封装格式设置为.1Q,缺省为Cisco专用的isl。)

       Cisco(config-if)#switchport trunk allowed vlan remove vlan-list (将不需要进行VLAN中继的VLAN列表删除,如果是全部,可以用all参数。)

       Cisco(config-if)#switchport trunk allowed vlan add vlan-list 1— (将1—号VLAN加入到VLAN中继 列表。)

       三、Linux系统(Gataway)上的VLAN配置:

       1、编译内核,使内核支持.1Q VLAN。

       下载Linux2.4.内核:/~greear/vlan/vlan.1.7m.tar.gz

       tar -zxvf vlan.1.7m.tar.gz

       cd vlan

       cp vconfig /usr/sbin

       注: 如果需要支持基于MAC地址划分的VLAN,需要给内核打补丁(vlan.1.7m.tar.gz中有),并将macvlan_config拷贝到/sbin下,用macvlan_config命令来进行VLAN配置。

       (1)、创建VLAN、VLAN、VLAN

       vconfig add eth0

       vconfig add eth0

       vconfig add eth0

       (2)、为接口设置IP地址:

       ip address add ..5.3/ dev eth0. (DMZ区域的网关)

       ip address add ...1/ dev eth0. (Classroom的网关)

       ip address add ..9.1/ dev eth0. (cqs的网关)

       ip link set dev eth0. up (启用设备)

       ip link set dev eth0. up

       ip link set dev eth0. up

       四、配置拨号

       1、创建cqs的拨号网络:

       (1)创建拨号脚本文件:/etc/ppp/dialisp1

       #!/bin/sh

       /usr/sbin/pppd /dev/ttyS0 connect '/usr/sbin/chat -f /etc/ppp/chat' login user mru mtu crtscts file /etc/ppp/options.pstn_isp1

       (2)创建拨号用的会话文件:/etc/ppp/chat

       "" at

       OK ate1v1

       OK atdt

       CONNECT

       (3)、创建拨号用的会话文件:/etc/ppp/options.pstn_isp1

       local

       nodefaultroute

       noauth

       login

       user

       mru

       mtu

       crtscts

       updetach

       注:由于有多个拨号,不能获取缺省路由,所以有nodefaultroute。

       2、创建Classroom的拨号网络:

       (1)创建拨号脚本文件:/etc/ppp/dialisp2

       #!/bin/sh

       /usr/sbin/pppd /dev/ttyS1 connect '/usr/sbin/chat -f /etc/ppp/chat9_' login user mru mtu crtscts file /etc/ppp/options.pstn_isp2

       (2)创建拨号用的会话文件:/etc/ppp/chat9_

       "" at

       OK atm3

       OK atdt9,,

       CONNECT

       注:该电话需要拨9字头(3)、创建拨号用的会话文件:/etc/ppp/options.pstn_isp2

       local

       noauth

       login

       user

       nodefaultroute

       mru

       mtu

       crtscts

       updetach 五、创建***(卫星)拨号脚本:

       1、下载Linux下的***客户端软件:http://pion.xs4all.nl/~elf/pkg/pptp-linux-1.1.0.tar.gz

       解压后将pptp文件拷贝到/usr/sbin下。

       2、下载卫星卡的Linux驱动程序:

       3、创建cqs的pptp拨号脚本:/etc/ppp/dialpptp1

       ip route add ...4 dev ppp0 (x.x.x.x 为ISP提供的***服务器地址,该命令设置访问x.x.x.x的路由。)

       sleep 2

       /usr/sbin/pptp ...4 file /etc/ppp/options.pptp1 (建立PPTP连接)

       /etc/ppp/options.pptp1为建立cqs的***连接的选项文件,其内容如下:

       local

       user username

       +chap

       remotename ...4

       noauth

       mru

       mtu

       updetach

       注:由于在PPTP内还要对数据进行封装,包头会占去一定的字节,所以其mru 和 mtu值要比ppp的小。

       4、创建Classroom的pptp拨号脚本:/etc/ppp/dialpptp2

       ip route add x.x.x.x dev ppp2 (x.x.x.x 为ISP提供的***服务器地址,该命令设置访问x.x.x.x的路由。)

       sleep 2

       /usr/sbin/pptp x.x.x.x file /etc/ppp/options.pptp2 (建立PPTP连接)

       /etc/ppp/options.pptp2为建立cqs的***连接的选项文件,其内容如下:

       local

       user username

       +chap

       remotename x.x.x.x

       noauth

       mru

       mtu

       updetach

       5、进行拨号测试:

       注意拨号的先后顺序。

       六、设置路由策略:

       1.设置路由表名称:

       编辑/etc/iproute2/rt_tables文件,在文件的尾部加入下面的两行:

        classroom (将编号为 的路由策略命名为classroom)

        cqs (将编号为的路由策略命名为cqs)

       2.设置路由:

       (设置教室的路由表)

       ip route add ..5.0/ dev eth0. table classroom

       (设置办公室的路由表)

       ip route add ..5.0/ dev eth0. table cqs

       (设置路由策略)

       ip rule add from ..9.0/ table cqs (来自..9.0/ 的数据包走 cqs 表)

       ip rule add from ...0/ table classroom (来自...0/ 的数据包走 classroom 表)

       ip rule add to ..9.0/ table main (去往..9.0/ 的数据包走 main 表)

       ip rule add to ...0/ table main (去往...0/ 的数据包走 main 表)

       3.设置缺省路由:

       根据前面的描述,我们想要教室和办公室分别使用不同的Modem上网,因此我们为classroom和cqs表设置不同的缺省路由。

       ip route add default dev ppp1 table offcie

       ip route add default dev ppp3 table classroom

       (注:ppp1为基于ppp0的 *** 连接,ppp3为基于ppp2的 *** 连接。)

       一切已OK,现在的事情就是进行NAT设置及脚本的整理了,至于说分时段上网,可以通过crond来进行控制。

       将上面的几个执行脚本整理如下:1、划分VLAN的脚本,以及本地路由和路由策略需要开机就执行,将他放入/etc/rc.local内:

       /sbin/ip addr add 0.0.0.0 dev eth0

       /sbin/ip link set dev eth0 up

       /sbin/vconfig add eth0

       /sbin/vconfig add eth0

       /sbin/vconfig add eth0

       /sbin/ip route add ..5.0/ dev eth0. table classroom

       /sbin/ip route add ..5.0/ dev eth0. table cqs

       /sbin/ip rule add from ..9.0/ table cqs

       /sbin/ip rule add from ...0/ table classroom

       /sbin/ip rule add to ..9.0/ table main

       /sbin/ip rule add to ...0/ table main

       2、办公室的拨号及缺省路由设置/etc/ppp/dialisp1

       /usr/sbin/pppd /dev/ttyS0 connect '/usr/sbin/chat -f /etc/ppp/chat' login user crtscts file /etc/ppp/options.pstn_isp1

       sleep 5

       /sbin/ip route add ...4 dev ppp0

       sleep 2

       /usr/sbin/pptp ...4 file /etc/ppp/options.pptp1

       sleep 5

       /sbin/ip route add default dev ppp1 table cqs

       3、办公室的拨号及缺省路由设置/etc/ppp/dialisp2

       /usr/sbin/pppd /dev/ttyS1 connect '/usr/sbin/chat -f /etc/ppp/chat' login user crtscts file /etc/ppp/options.pstn_isp2

       sleep 5

       /sbin/ip route add ...4 dev ppp2

       sleep 2

       /usr/sbin/pptp ...4 file /etc/ppp/options.pptp2

       sleep 5

       /sbin/ip route add default dev ppp3 table classroom

       要位办公室拨号,执行/etc/ppp/dialisp1即可,要为教室拨号,执行/etc/ppp/dialisp2即可。

文章所属分类:百科频道,点击进入>>