четверг, 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


Комментариев нет:

Отправить комментарий