Set up PPPoE Server on Ubuntu

The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for encapsulating PPP frames inside Ethernet frames.

PPPoE Server, which should be formally called as PPPoE Access Concentrator


Ubuntu Trusty(14.04)


Remove pppoe from system and install dependencies from apt.

Version of pppoe on Ubuntu is 3.8 but what we get later is 3.11.

Download rp-pppoe from

Set up



If you don’t have four columns here, you may meet error message below in syslog:



route has been set up

traceroute does not work well in client side, I don’t know why, but I can do tcpdump in PPPoE-AC like

Then do some ping or something from client side


Set up PPPoE Server on Ubuntu by @sskaje:

Incoming search terms:

ssh_exchange_identification: Connection closed by remote host

Google tells me that I am blocked because of something like /etc/hosts.deny or some other reason, I did everything but problem remains there.

Until I checked the audit.log and found there many attempts of ssh login.

So I add ListenAddress line in /etc/ssh/sshd_config, everything works well now.
This is because I have an local IP address like,,, but if I only have a public IP, I may choose to change ssh running at another port.

ssh_exchange_identification: Connection closed by remote host by @sskaje:

Mach-O Disable ASLR/PIE

ASLR, Address Space Layout Randomization

Address space layout randomization (ASLR) is a computer security technique involved in protection from buffer overflow attacks. In order to prevent an attacker from reliably jumping to a particular exploited function in memory (for example), ASLR involves randomly arranging the positions of key data areas of a program, including the base of the executable and the positions of the stack, heap, and libraries, in a process’s address space.



Mach-O, short for Mach object file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps. A replacement for the a.out format, Mach-O offered more extensibility and faster access to information in the symbol table.

Mach-O was once used by most systems based on the Mach kernel.[citation needed] NeXTSTEP, OS X, and iOS are examples of systems that have used this format for native executables, libraries and object code.

There are several tools turning ASLR/PIE off, some of those need to be compiled. So I decided to write one in Python. Repository:

Disable ASLR on jailbroken iPod Touch 4 with python installed from Cydia
Disable ASLR

Disable ASLR on OS X for iOS App
Disable ASLR on OS X for iOS App

Mach-O Disable ASLR/PIE by @sskaje:

Incoming search terms:

Few on DSA

I was looking into Jira’s licensing and chose to patch + keygen jars.

I extracted the public key from class file, base64 decoded and then printed details using openssl:

This is a (1024,160) L/N pair, key size 1024 bits and length of Q is 160.

from I learnt:

Per-user keys
Given a set of parameters, the second phase computes private and public keys for a single user:

Choose x by some random method, where 0 < x < q. Calculate y = gx mod p. Public key is (p, q, g, y). Private key is x. There exist efficient algorithms for computing the modular exponentiations h(p–1)/q mod p and gx mod p, such as exponentiation by squaring.

y is the PUB above, x is what I want.

I googled some lines in the public key and found this, keys in Jira and this blog shares a same P/G/Q.
As it’s said in that blog, his key pair is generated by ‘keytool’, which is a key and certificate management tool provided by Java

So I made an experiment:

A new key with the same P/G/Q.

Few on DSA by @sskaje:

Incoming search terms:

SSL Certificates Updated

Free SSL from, enough for basic usage.

To make certs working under nginx, just

And then

SSL Certificates Updated by @sskaje: