четверг, 24 декабря 2015 г.

Восстанавливаем работу VirtualBox на Windows 7 nano от Lopatkin

Восстанавливаем работу VirtualBox на Windows 7 nano от Lopatkin

Буквально вчера я хвастался минималистичной сборкой Win7 от Лопаткина.
Установочный дистрибутив весит около 860 мб, после установки она занимает 1.7 гб на HDD
Все бы хорошо. Но не работает VirtualBox.
При запуске машины пишет ошибочку

Проблема заключается в том, что любители клепать сборки винды патчат uxtheme.dll и службу тем для расширения возможности украшательств ос. Не обошла эта беда и Лопаткина. Во вред функционалу.
Решение оказалось простым - скачать оригинальный образ Windows 7 Professional RU и установить ее смонтировать образ в виртуальный привод (при помощи Ultraiso), найти в образе файл E:\Sources\install.wim, открыть его при помощи 7-zip и извлечь из пути /windows/system32 три файла themeservice.dll themeui.dll uxtheme.dll

Эти файлы нужно поместить в папку C:\Windows\System32 нашей работающий операционной системы.
И - вуаля: Виртуалбокс ожил и готов к работе :)

Не забываем, что для того чтобы заменить эти файлы в папке System32 сначала нужно стать их владельцем и дать права на чтение-запись себе к ним в своей работающей системе!!!.

И на всякий случай выкладываю на свой гуглдрайв архив с этими файлами
https://drive.google.com/file/d/0B0Ec7812cp1tWThqTDlwS3dLMjA/view?usp=sharing

И вот, результат налицо:


Ну и конечно же разработчикам виртуалбокса виднее, зачем юзать подсистему отрисовки тем в своем поделии.

четверг, 10 декабря 2015 г.

Некоторые приемы, которые я буду юзать при постройке роутера

пыха - узнаем ип интерфейса для заворота трафика в него и айпи юзера

<?php
$route_ukr = exec("sudo ifconfig ppp0 | awk -F ' *|:' '/inet addr/{print $4}'");
$ip_user= $_SERVER['REMOTE_ADDR'];
echo $route_ukr;
echo $ip_user;

выполняем по команде

exec('sudo iptables -t mangle -D PREROUTING -s ' . $ip_user . ' ! -d 192.168.7.0/24 -j MARK --set-mark 1');
exec('sudo iptables -t nat -A POSTROUTING -s ' . $ip_user . '  -j SNAT --to-source ' . $route_ukr .' ')

bash scr

#!/bin/sh
ip=$(ifconfig tun0 | awk -F ' *|:' '/inet addr/{print $4}')
iptables -t nat -I POSTROUTING 1 -o tun0 -j SNAT --to-source $ip


/CHECKER RECONNECTER

#! /bin/bash

wget --spider http://ya.ru
if [ "$?" != 0 ]; then
  echo `date` >> /root/reconnect.log
  /usr/bin/poff dsl-provider
  sleep 10
  /usr/bin/pon dsl-provider
fi


//p-t-p route

ifconfig ppp0 | grep -o -E "P-t-P:([0-9]+\.){3}([0-9]+)" | sed 's/P-t-P://g'


фикс от Вани
exec('sudo iptables -t nat -A POSTROUTING -s "' . $ip_user . '"  -j SNAT --to-source "' . $route_ukr .' "')

кое что из рабочих конфигов

#!/bin/sh
ip=$(ifconfig tun2 | awk -F ' *|:' '/inet addr/{print $4}')
iptables -t nat -I POSTROUTING 2 -o tun2 -j SNAT --to-source $ip
/bin/ip route add default dev tun2 table US    <-- DEFAULT GW на интерфейс :)//
iptables -t mangle -A OUTPUT -p tcp -m tcp ! --sport 1095 -m owner --uid-owner 1003 -j MARK --set-mark 5
ip rule add fwmark 5 table US

echo "nameserver 192.168.7.1" > /etc/resolv.conf