这段时间。包含我自己測试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 模拟环境搭建的更多相关文章

  1. Android开发环境搭建以及模拟环境搭建

    Android开发环境 现在主流的Android开发环境有: Eclipse + ADT + SDK Android Studio + SDK IntelliJ IDEA + SDK 现在国内大部分开 ...

  2. 第三课 操作系统开发之x86模拟环境搭建

    前面我们讲解了主引导程序的加载过程,并且制作了虚拟软盘a.img,最终这个主引导程序也在机器中成功运行了,但是实际开发的时候,并不会如此简单,免不了调试过程,如果还像上一节中直接将软盘放到机器中去加载 ...

  3. windows Objective-C模拟环境搭建

    安装GNUstep GNUstep Windows Installer提供了Windows平台下的Objective-C的模拟开发环境,一共有四个软件包,其中GNUstep System和GNUste ...

  4. [零基础学IoT Pwn] 环境搭建

    [零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...

  5. 模拟生产搭建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.备库配置 ...

  6. 1.RN环境搭建,创建项目,使用夜神模拟调试

    1.环境搭建(Yarn.React Native 的命令行工具(react-native-cli)) npm install -g yarn react-native-cli 具体参考 参见官方(中文 ...

  7. appium+robotframework环境搭建

    appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...

  8. Linux环境搭建-在虚拟机中安装Centos7.0

    最近在空闲时间学习Linux环境中各种服务的安装与配置,都属于入门级别的,这里把所有的学习过程记录下来,和大家一起分享. 我的电脑系统是win7,所以我需要在win7上安装一个虚拟机-VMware,然 ...

  9. TODO:小程序开发环境搭建

    TODO:小程序开发环境搭建 1.第一步当然是要先注册小程序了 2.登录到小程序 a)完善小程序信息,如名称,图标,描述 3.绑定开发者 4.获取AppID,并设置服务器信息 5.下载并安装开发者工具 ...

随机推荐

  1. PHPCMS V9数据库配置文件database.php位置

    初次用PHPCMS V9的朋友可能找不到数据库配置文件,其实在官方的wiki中已经介绍了.那就是 caches\configs\database.php 文件. 初次用PHPCMS V9的朋友可能找不 ...

  2. QT使用scrollarea显示图片,完美解决方案

    需求: 在界面上点击“显示图片”按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示 IDE环境: QT Creator ...

  3. [Android学习笔记]Android向下兼

    Android向下兼容的思路:使用高版本的API,在运行时判断真实运行平台的API版本,根据不同版本做不同的处理 关键类:Build.class里面定义了API版本相关信息 内部类:VERSION定义 ...

  4. Nginx和Tomcat负载均衡实现session共享(转)

    以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架. 此框架的优 ...

  5. Shell 基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  6. Swift - 使用UIDatePicker实现倒计时功能

    如果使用UIDatePicker时将模式设置为CountDownTimer,即可让该控件作为倒计时器来使用.效果图如下:    下面是代码示例: 1 2 3 4 5 6 7 8 9 10 11 12 ...

  7. ubuntu12.10下arm-linux-gcc交叉编译环境的搭建

    交叉编译环境搭建的原因:通俗上讲,因为嵌入式系统可用资源比较少:几十M的ARM 二三百M的flash相对我们的pc机来说资源真的没法比.所以,为了解决这种局面就将PC机等作为主机,搭建开发环境,进行编 ...

  8. WinDBG 技巧:如何生成Dump 文件(.dump 命令)

    程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件. 步骤: 1) 打开WinDBG并将之Attach 到 ...

  9. UVA 10313(完全背包变形)

    Problem B Pay the Price Input: standard input Output: standard output Time Limit: 2 seconds Memory L ...

  10. data URI scheme及其应用

    data URI scheme通俗的来讲就是将一张图片直接塞到HTML中而不是通过HTTP请求去获取.这样从表面上看会降低一次HTTP的请求,实现了对于网页的优化(只是看了其它一些文章data URI ...