[root@localhost network-scripts]# rpm -q rp-pppoe
package rp-pppoe is not installed

-----------------

[root@localhost network-scripts]# yum list |grep pppoe
rp-pppoe.x86_64                    3.10-16.el6                 base

-----------------

[root@localhost network-scripts]# yum install rp-pppoe -y

-----------------

[root@localhost network-scripts]# rpm -q rp-pppoe
rp-pppoe-3.10-16.el6.x86_64

-----------------设置支持ip转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1

-----------------修改服务器配置----------------
vi /etc/ppp/pppoe-server-options
# PPP options for the PPPoE server
# LIC: GPL
#require-pap
require-chap
login
lcp-echo-interval 10
lcp-echo-failure 2
logfile /var/log/pppoe.log
ms-dns 8.8.8.8
ms-dns 114.114.114.114

--------------------添加用户名密码,修改/etc/ppp/chap-secrets文件,

chap1 * "chap1" *
chap2 * "chap2" *
chap3 * "chap3" *
chap4 * "chap4" *
chap5 * "chap5" *
chap6 * "chap6" *
chap7 * "chap7" *
chap8 * "chap8" *
chap9 * "chap9" *
chap10 * "chap10" *
chap11 * "chap11" *
chap12 * "chap12" *
chap13 * "chap13" *
chap14 * "chap14" *
chap15 * "chap15" *
chap16 * "chap16" *
chap17 * "chap17" *
chap18 * "chap18" *
chap19 * "chap19" *
chap20 * "chap20" *
chap21 * "chap21" *
chap22 * "chap22" *
chap23 * "chap23" *
chap24 * "chap24" *
chap25 * "chap25" *
chap26 * "chap26" *
chap27 * "chap27" *
chap28 * "chap28" *
chap29 * "chap29" *
chap30 * "chap30" *

--------------------给eth0接口创建虚接口eth0:2并up

ifconfig eth0:1 20.20.20.2 netmask 255.255.255.0

ifconfig eth0:1 up

--------------------给eth0接口创建虚接口eth0:2重启网络生效

cd /etc/sysconfig/network-script/

cp ifcfg-eth0 ifcfg-eth0:2

vi ifcfg-eth0:2

DEVICE=eth0:1
HWADDR=00:0C:29:AD:F8:B7
TYPE=Ethernet
UUID=d60f7bad-0f18-420a-8e19-3e361f8ffed4
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=20.20.20.2
NETMASK=255.255.255.0

service network restart

--------------------添加防火墙规则,做nat转换 iptables -t nat -A POSTROUTING -s 20.20.20.0/24 -j MASQUERADE           (iptables -t nat -A POSTROUTING -s 20.20.20.0/24 -o eth1 -j SNAT --to-source 192.172.1.172) iptables -A FORWARD -p tcp --syn -s 20.20.20.0/24 -j TCPMSS --set-mss 1256

service iptables save   保存防火墙规则到配置文件/etc/sysconfig/iptables echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -w net.ipv4.ip_forward=1

第一条是添加nat,转换来自20.20.20.0/24网段的ip        (MASQUERADE是针对连接公网的接口是自动获取地址) 或者:iptables -t nat -A POSTROUTING -s 20.20.20.0/24 -o eth1 -j SNAT --to-source 192.172.1.172 第二条是修改mtu 第四条打开转发 第五条是修改转发文件

--------------------如下FORWARD链中REJECT的规则,阻止了数据报文的转发,进行删除iptables -D FORWARD 1,然后service iptables save保存到配置

iptables -nvL FORWARD

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination        
  389 23343 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
    0     0 TCPMSS     tcp  --  *      *       20.20.20.0/24        0.0.0.0/0           tcp flags:0x17/0x02 TCPMSS set 1256

--------------------启动pppoe-server
pppoe-server -I eth0:1 -L 20.20.20.1 -R 20.20.20.100-200

--------------------查看pppoe-server的进程
[root@localhost network-scripts]# ps aux |grep pppoe
root       3200  0.0  0.0   4104   300 ?        S    04:04   0:00 pppoe-server -I eth0:1 -L 20.20.20.1 -R 20.20.20.100-200
root       3201  0.0  0.1  49488  1860 ?        Ss   04:04   0:00 pppd pty /usr/sbin/pppoe -n -I eth0:2 -e 1:a0:9d:86:16:2c:99 -S '' file /etc/ppp/pppoe-server-options 20.20.20.1:20.20.20.100 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap
nobody     3204  0.0  0.0   6184   708 ?        S    04:04   0:00 /usr/sbin/pppoe -n -I eth0:2 -e 1:a0:9d:86:16:2c:99 -S
root       3215  0.0  0.1  49488  1848 ?        Ss   04:04   0:00 pppd pty /usr/sbin/pppoe -n -I eth0:2 -e 2:a0:9d:86:fc:89:13 -S '' file /etc/ppp/pppoe-server-options 20.20.20.1:20.20.20.101 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap
nobody     3216  0.0  0.0   6184   704 ?        S    04:04   0:00 /usr/sbin/pppoe -n -I eth0:2 -e 2:a0:9d:86:fc:89:13 -S
root       3229  0.0  0.1  49488  1848 ?        Ss   04:06   0:00 pppd pty /usr/sbin/pppoe -n -I eth0:2 -e 3:a0:9d:86:fc:89:73 -S '' file /etc/ppp/pppoe-server-options 20.20.20.1:20.20.20.102 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap
nobody     3230  0.0  0.0   6184   708 ?        S    04:06   0:00 /usr/sbin/pppoe -n -I eth0:2 -e 3:a0:9d:86:fc:89:73 -S
root       3240  0.0  0.0 103248   872 pts/0    S+   04:06   0:00 grep pppoe

[root@localhost network-scripts]# service pppoe-server status
pppoe-server (pid 1573) 正在运行...
[root@localhost network-scripts]#

--------------------设置开机启动

添加如下命令到脚本/etc/rc.d/rc.local中

pppoe-server -I eth0:2 -L 20.20.20.1 -R 20.20.20.100-200

-------------------------------------

对于虚拟机的虚接口桥接到真实主机的无线网卡时,常出现虚接口消失的情况,可以使用python写个检测程序

#!/usr/local/bin/python3

import os,re,time

while True:

val = os.popen("ifconfig").read()

if ["eth1:1"] == re.findall(r"eth1:1",val):

print("eth1:1 is exist")

time.sleep(3)

else:

os.popen('ifconfig eth1:1 40.10.10.1 netmask 255.255.255.0')

time.sleep(3)

os.popen('ifconfig eth1:1 up')

time.sleep(3)

print("eth1:1 has been created")

if ["eth1:3"] == re.findall(r"eth1:3",val):

print("eth1:3 is exist")

time.sleep(3)

else:

os.popen('ifconfig eth1:3 100.100.100.1 netmask 255.255.255.0')

time.sleep(3)

os.popen('ifconfig eth1:3 up')

time.sleep(3)

print("eth1:3 has been created")

print("eth1:1 and eth1:3 are all up")

Centos6.5 pppoe-server的更多相关文章

  1. How to create a PPPoE Server on Ubuntu? (Untested)

    How to create a PPPoE Server on Ubuntu? March 30, 2011 coder_commenter Leave a comment Go to comment ...

  2. Ubuntu上架设PPPoE Server

    一.安裝 PPPoE Server Software1)sudo apt-get install ppp2)rp-pppoe(非apt套件)wget -c http://www.roaringpeng ...

  3. PPPoE Server Under Ubuntu/Debian

    http://imranasghar.blogspot.com/2009/05/pppoe-server-under-ubuntudebian.html ----------------------- ...

  4. pppoe server 搭建

    Ubuntu 上搭建 pppoe server sudo apt-get install pppoe $ cat /etc/ppp/pppoe-server-options # PPP options ...

  5. Linux下PPPoE Server测试环境搭建

    1.1  服务器软件安装 安裝PPPoE Server 所需的软件: 安装ppp模块: sudo apt-get install ppp   //一般默认下已安装 安装rp-pppoe,从网络上下载安 ...

  6. Centos6.5 Zabbix3 server端安装(一)

    一.准备阶段: 1.>关闭防火墙 /etc/init.d/iptables stop 2.>关闭selinux vim /etc/selinux/config SELINUX=disabl ...

  7. CentOS6.0/RedHat Server 6.4安装配置过程 详细图解!

    1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...

  8. PPTP&L2TP&PPPOE client and server configure

    一. PPPOE 1. server(参考http://laibulai.iteye.com/blog/1171898) (1)安装rp-pppoe:yum install rp-pppoe (2)配 ...

  9. centos6 搭建ELK

    mark一下时间:2016年2月19日10:17:09 记录使用 Logstash: Logstash服务的组件,用于处理传入的日志. Elasticsearch: 存储所有日志 Kibana 4: ...

  10. 同时大量PPPoE连接请求,攻击PPPoE服务器,导致的用户异常掉线故障分析

    前几天接一个客户电话,PPPoE下用户异常掉线,掉线后拨号困难 到达后,我首先查看PPPoE日志,发现一秒钟内有大量PADI包,浪费服务器的SESSION,同时让服务器无法处理其他用户的请求. 打开W ...

随机推荐

  1. 为什么要重写hashcode和equals方法?初级程序员在面试中很少能说清楚。

    我在面试 Java初级开发的时候,经常会问:你有没有重写过hashcode方法?不少候选人直接说没写过.我就想,或许真的没写过,于是就再通过一个问题确认:你在用HashMap的时候,键(Key)部分, ...

  2. java~使用自己的maven本地仓库

    本地仓库 主要是一种缓存,当你使用远程仓库中下载组件后,它下一次会优先从本地进行加载,一般位于USER_HOME/.m2目录下,我们自己也可以建立公用的包,把包发布到本地仓库,自己在其它项目里直接可以 ...

  3. parsing:NLP之chart parser句法分析器

    已迁移到我新博客,阅读体验更佳parsing:NLP之chart parser句法分析器 完整代码实现放在我的github上:click me 一.任务要求 实现一个基于简单英语语法的chart句法分 ...

  4. SpringCloud-Eureka注册与发现

    这两年可以说微服务是热词,也是新领域,学习的成本也较高,基础东西太多比如什么Dubbo,zookeeper,Springboot等等.Dubbo也是实现服务治理又是阿里出的一套开源RPC框架,但是Sp ...

  5. 单机Qps上限是多少?

    现在这个年代,你要是不懂高并发,你都不好意思说自己是搞互联网的! 一.什么是并发,什么是高并发 并发,两个及以上的行为一起发生,比如你一边吃饭一边看电视 高并发,多个行为(至于是多少,这个没有定数,你 ...

  6. PHP遍历文件夹下所有文件

    不论是面试还是正常工作需要都会用到遍历文件夹下的所有文件,今天就记录一下笔记.废话不多说直接上代码: <?php /** * 遍历当前文件夹展示所有的文件和目录 */ function dirL ...

  7. nginx系列12:一致性哈希算法

    前面一节的hash算法存在一个问题,当上游的应用服务器因某一台down掉导致服务器数量发生变化时,会导致大量的请求路由策略失效,一致性哈希算法可以缓解这个问题. 一致性哈希算法 1,hash算法存在的 ...

  8. img transform:scale 放大在ios下变模糊

    /*img标签放大再缩小*/ img { width: 400%; transform: translate3d(-50%, -50%, 0) scale(0.25, 0.25); -webkit-t ...

  9. mysql入门知识

    数据库 什么是数据库就是存储数据的仓库(容器) 存储数据的方式1.变量 无法永久存储2.文件处理 ,可以永久存储 文件处理存在的弊端: 1.文件处理速度慢 2.文件只能在自己的计算机上读写 无法被共享 ...

  10. Linux下使用yum安装软件命令

    1.yum list | grep 要下载的文件名字2.yum install 完整文件名字3.rpm -qa | grep 软件名字 //查看版本