PPPOE 模拟环境搭建
这段时间。包含我自己測试OTT盒子 PPPOE的时候比較痛苦。要不就是在别人的位置上測试。要不就是借用PPPOE的设备,认为还是自己搭建一个PPPOE真实拨号上网的环境多好!
可是坑爹的win7找不到好用的pppoe服务软件,公共机器xp已经搭建好的PPPOE环境没有双网卡也验证不了拨号后网络共享是否OK。
最后还是以自己的笔记本(win7)双网卡(无线、有线)的机器上搭建一个环境来做下实验(聪明的你也能够使用不论什么双网卡的机器搭建哦)。
介绍话不多说,给各位直接介绍。
搭建主要工具:virtualbox 、unbuntu12.04ios
搭建主要软件:rp-ppoe 、iptables
參考文档:
http://blog.chinaunix.net/uid-9525959-id-4008338.html
http://fp-moon.iteye.com/blog/1756466
http://askubuntu.com/questions/161551/how-to-start-stop-iptables-in-ubuntu-12-04
https://help.ubuntu.com/community/IptablesHowTo
1.1 虚拟机搭建
安装好Virtualbox虚拟机后,依照提示选择安装ubuntu12.04 64bits版本号,因为我们的机器仅仅是要最低程度的验证PPPOE问题。硬盘请尽量选择足够小,我的是8G.
虚拟机最为重要的一步:配置网卡及网络模式!
1.2 软件配置
Rp-pppoe链接: https://github.com/sammaple/rp-pppoe-3.11下载使用(rp-pppoe-3.6版本号太低,会有问题,建议直接使用最新版本号)
步骤:
1、sudo apt-get installppp
2、解压rp-pppoe
3、sudo chown -Rroot:root /xx/rp-pppoe-3.11-master/
4、sudo apt-get installlibc6-dev
5、sudo /xx/rp-pppoe-3.11-master/go(configure,make, make install一条龙脚本)
ps:最好将go脚本的最后一句凝视掉。这个是client的配置
凝视掉改句 #sh../scripts/pppoe-setup
6、安装完毕后能够whereispppoe-server查看安装是否成功。
/usr/sbin/pppoe-server
7、配置pap-secrets、pppoe-server-options文件
直接贴出pap-secrets内容:
jhy* jhy *(第一个jhy 是拨号使用的username ,第二jhy是拨号password)
直接贴出pppoe-server-options内容:
#PPP options for the PPPoE server
#LIC: GPL
require-pap
#login
lcp-echo-interval10
lcp-echo-failure2
ms-dns xx.xx.xx.xx
#这个dns以你实际网络为准
8、启动pppoeserver服务
sudopppoe-server -I eth1 -L 192.168.5.1 -R 192.168.5.5 -N 10
意思就是,获得pppoe地址信息例如以下
-I eth1 指定pppoeserver在那个网卡接口监听连接请求(我们在虚拟机中设置的eth1为有线网卡);
-L 192.168.5.1 指定pppoeserver的ip地址。(注意:此IP地址不是网卡的IP地址,而是PPPOEserver的虚拟IP)(此地址能够随意)。
-R 192.168.5.5 pppoeserver分配给client的IP地址。从192.168.5.5開始。递增;
-N 10 指定最多能够连接pppoeserver的client数量(默认是64 最大是65534);
9、clientPPPOE拨号
盒子终端与笔记本有线网口网线接好,填入与第7步相应的usernamepassword拨号成功。
1.3 拨号共享上网
在虚拟机中使用iptabes进行port转发规则定义
丢弃在eth1上的pppoe数据
iptables-A INPUT -i eth1 -s 192.168.5.0/24 -j DROP
转发pppoe上的数据到能够联网的eth0无线网卡上:
iptables -t nat -A POSTROUTING -s192.168.5.0/24 -o eth0 -j MASQUERADE
iptables-save 保存路由规则
modprobeip_tables 重新启动iptables服务(这里须要注意的是ubuntu没有将iptables注冊为服务。所以serviceiptables restart stop 等命令使用不了)
打开ip转发功能echo"1">/proc/sys/net/ipv4/ip_forward
1.4 小结
甩掉包袱一身轻松
PPPOE 模拟环境搭建的更多相关文章
- Android开发环境搭建以及模拟环境搭建
Android开发环境 现在主流的Android开发环境有: Eclipse + ADT + SDK Android Studio + SDK IntelliJ IDEA + SDK 现在国内大部分开 ...
- 第三课 操作系统开发之x86模拟环境搭建
前面我们讲解了主引导程序的加载过程,并且制作了虚拟软盘a.img,最终这个主引导程序也在机器中成功运行了,但是实际开发的时候,并不会如此简单,免不了调试过程,如果还像上一节中直接将软盘放到机器中去加载 ...
- windows Objective-C模拟环境搭建
安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objective-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUste ...
- [零基础学IoT Pwn] 环境搭建
[零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...
- 模拟生产搭建Standby RAC实验环境(11.2.0.4 DG)
模拟生产搭建Standby RAC实验环境(11.2.0.4 DG) 环境:RHEL 6.5 + Oracle 11.2.0.4 GI.DB 1.需求背景介绍 2.准备工作 3.主库配置 4.备库配置 ...
- 1.RN环境搭建,创建项目,使用夜神模拟调试
1.环境搭建(Yarn.React Native 的命令行工具(react-native-cli)) npm install -g yarn react-native-cli 具体参考 参见官方(中文 ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
- Linux环境搭建-在虚拟机中安装Centos7.0
最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...
- TODO:小程序开发环境搭建
TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...
随机推荐
- Java 23种设计模式详尽分析与实例解析之三--行为型模式
Java设计模式 行为型模式 职责链模式 模式动机:职责链可以是一条直线.一个环或者一个树形结构.链上的每一个对象都是请求处理者,职责链模式可以将请求的处理组织成一条链,并使请求链传递,由链上的处理者 ...
- 细节!重点!易错点!--面试java基础篇(一)
今天来给大家分享一下java的重点易错点部分,也是各位同学面试需要准备的,欢迎大家交流指正. 1.java中的main方法是静态方法,即方法中的代码是存储在静态存储区的. 2.任何静态代码块都会在ma ...
- 俄罗斯方块SDK版
前言 本来可以从俄罗斯方块控制台版改一版, 将UI接口换掉, 变成SDK版. 正好放假了, 有时间. 就用了一个星期来重头做一个新版, 享受一下静下心来, 有条不紊干活的感觉^_^ 这个工程用来验证S ...
- python 获取当前日期 星期
from datetime import datetime d =datetime.today() #获取当前日期时间 d.isoweekday() #获取时间周几
- android 细节之 旋转动画
Flip Animation for Android: 近期项目中用到了一个小动画,让物体实现一定的3D旋转效果,现记录例如以下: public class FlipAnimation extends ...
- 窗口绘制有关的消息整理 WM_PAINT, WM_NCPAINT, WM_ERASEBKGND
WM_PAINTWM_PAINT是Windows窗口系统中一条重要的消息,应用程序通过处理该消息实现在窗口上的绘制工作. WM_NCPAINT当窗口客户区以外的部分(如窗口标题栏.菜单栏等)需要需要重 ...
- velocity中的velocityCounter不起作用的原因
今天用org.springframework.ui.velocity.VelocityEngineFactoryBean 时,velocityCounter这个变量的时候死活不起作用,折腾了良久也不行 ...
- 数据和C
整数就是没有小数部分的数,在C中小数点永远不会出现在整数中.例如2,-24,2456都是整数,整数以二进制存储,例如7的二进制表示为111,在8位的字节中存储它的前5位为0,将后3位置1. 浮点数即加 ...
- 关于Delphi中的字符串的浅析(瓢虫大作,里面有内存错误的举例)
关于Delphi中的字符串的浅析 只是浅浅的解析下,让大家可以快速的理解字符串. 其中的所有代码均在Delphi7下测试通过. Delphi 4,5,6,7中有字符串类型包括了: 短字符串(Short ...
- 【ASP.NET Web API教程】5.4 ASP.NET Web API批处理器
原文:[ASP.NET Web API教程]5.4 ASP.NET Web API批处理器 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. ...