Тык перекодируй из KOI-8 в UTF-8. iconv тебе поможет.
PS
И да, уверен, то что ты пытаешься сделать давно реализовано и код лежит в открытом доступе, где нибудь на github.com, но гуглить за тебя я, конечно, не буду.
Чёт маленькая подсеть для таких целей. В /30 всего один IP для клиента. Зачем так делать если по PPPoE и так предоставляется один белый IP? Была бы она /28 ещё понятно, но один клиентский IP...
PS
И да, уверен, то что ты пытаешься сделать давно реализовано и код лежит в открытом доступе, где нибудь на github.com, но гуглить за тебя я, конечно, не буду.