пыха - узнаем ип интерфейса для заворота трафика в него и айпи юзера
<?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
//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
<?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
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
Комментариев нет:
Отправить комментарий