ankos 19 Posted 2009-03-17 18:06:11 Share Posted 2009-03-17 18:06:11 Доброго времени суток! Если такая тема обсуждалась извените, пользовался поиском "Ошибка - указано менее чем 4 символа" или чтото в этом роде! Есть сервер Slakeware 10, 2 интерфейса: eth1 = inet 80.91.x.1 255.255.255.248 eth2 = local 192.168.x.1 есть клиент смтотрит на eth1 ip 192.168.1.X Задача: нужно, чтобы на клиента можно было попасть извне, через IP из свободного диапазона. использовал этот мануал: http://www.opennet.ru/base/net/nat_redirect.txt.html толку никакого! Нужно найти решение! Если надо будет поднять VPN сервер, подниму. Только здесь тоже вопрос как при ВПН соединении присвоить реальный (белый) IP? Заранее, большое спосибо за помощь! Link to post Share on other sites
Neelix 33 Posted 2009-03-17 18:59:53 Share Posted 2009-03-17 18:59:53 если хочешь через впн, то выдавай через remoteip, а дальше маршрутизируй как надо. хотя это изначально неправильное включение, правильней было бы его включить на один уровень с твоим роутером и просто дал бы ему шлюз провайдера и все. Link to post Share on other sites
DarkSpider 36 Posted 2009-03-17 21:30:08 Share Posted 2009-03-17 21:30:08 имхо вариантов тут несколько - самые очевидные : 1. правильней было бы его включить на один уровень с твоим роутером и просто дал бы ему шлюз провайдера и все 2. Если линукс : iptables -t nat -A PREROUTING -i $inet_iface -d $white_IP -j DNAT --to $local_IP iptables -t nat -A POSTROUTING -o $local_iface -s $local_IP -j SNAT --to $white_IP Link to post Share on other sites
icecybe 35 Posted 2009-03-18 00:35:24 Share Posted 2009-03-18 00:35:24 чёт вы тут намутили так что голова кругом ) Если биллинг. Если абиллс то там прямо в сервер ип и ставиш етот белый ип. Больше ничего не надо. Хало ! Link to post Share on other sites
icecybe 35 Posted 2009-03-18 00:36:41 Share Posted 2009-03-18 00:36:41 а точнее где пользователь. Там есть ип по умолчянию он 0,0,0,0 что значит выдаёр сервер со своего пула. Если не то ставиш свой. реальный. Работает. Свой личный пример. Link to post Share on other sites
Neelix 33 Posted 2009-03-18 05:29:55 Share Posted 2009-03-18 05:29:55 чёт вы тут намутили так что голова кругом )Если биллинг. Если абиллс то там прямо в сервер ип и ставиш етот белый ип. Больше ничего не надо. Хало ! а точнее где пользователь. Там есть ип по умолчянию он 0,0,0,0 что значит выдаёр сервер со своего пула. Если не то ставиш свой. реальный. Работает. Свой личный пример. причем тут биллинг, сервера? это L2-L3, не больше и не меньше. Link to post Share on other sites
icecybe 35 Posted 2009-03-20 02:02:01 Share Posted 2009-03-20 02:02:01 Нужно найти решение!Если надо будет поднять VPN сервер, подниму. Только здесь тоже вопрос как при ВПН соединении присвоить реальный (белый) IP? Если будет сервер впн Link to post Share on other sites
Neelix 33 Posted 2009-03-20 06:10:37 Share Posted 2009-03-20 06:10:37 Если будет сервер впн Есть сервер Slakeware 10, Link to post Share on other sites
alex_o 1,194 Posted 2009-03-20 06:36:45 Share Posted 2009-03-20 06:36:45 Есть сервер Slakeware 10, 2 интерфейса: eth1 = inet 80.91.x.1 255.255.255.248 eth2 = local 192.168.x.1 есть клиент смтотрит на eth1 ip 192.168.1.X Вы ничего не напутали? Неудивительно, что НАТ после этого настрить не можете... Link to post Share on other sites
Slava 1 Posted 2009-03-20 10:49:35 Share Posted 2009-03-20 10:49:35 если у клиента писать локальный IP например 192,168,1,45 то вот рабочий пример без использование ВПН IP_="реальник для клиента" NM="маска подсети реальников" BC="бродкаст" GW="подсеть " ifconfig $IFACE $NEW_IP netmask $NM broadcast $BC route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE iptables -t nat -A PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ iptables -A FORWARD -i eth0 -d $IP_ -j QUEUE iptables -A FORWARD -i eth1 -d $IP_ -j QUEUE iptables -I FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -I FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -t nat -I POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -I POSTROUTING -d $NEW_IP -s 10.0.0.0/8 -j SNAT --to-source $IP_ Link to post Share on other sites
ankos 19 Posted 2009-03-20 11:08:20 Author Share Posted 2009-03-20 11:08:20 если у клиента писать локальный IP например 192,168,1,45 то вот рабочий пример без использование ВПНIP_="реальник для клиента" NM="маска подсети реальников" BC="бродкаст" GW="подсеть " ifconfig $IFACE $NEW_IP netmask $NM broadcast $BC route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE iptables -t nat -A PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ iptables -A FORWARD -i eth0 -d $IP_ -j QUEUE iptables -A FORWARD -i eth1 -d $IP_ -j QUEUE iptables -I FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -I FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -t nat -I POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -I POSTROUTING -d $NEW_IP -s 10.0.0.0/8 -j SNAT --to-source $IP_ Всем большое спосибо за оказаную помощь! $IP_ - какой именно должен быть IP? $NEW_IP - какой именно должен быть IP? А то я с этими поисками и всякими извращениями вообще уже запутался! Мне уже эти IP и наты, днаты, иптаблейсы снятся поночам! Link to post Share on other sites
Slava 1 Posted 2009-03-20 14:33:35 Share Posted 2009-03-20 14:33:35 $IP_ - локальный ip клиента типа 192,168,1,25 $NEW_IP - реальный ip который выдается клиентской машине с адресом $IP_ клиенты в локалке будут доступны как по локальноу ИП так и по реальнику у клиента прописывается только локальный ИП 192,168,1,25 все остальное выполняет сервер Link to post Share on other sites
Slava 1 Posted 2009-03-20 14:41:46 Share Posted 2009-03-20 14:41:46 $IP_ - локальный ip клиента типа 192,168,1,25 $NEW_IP - реальный ip который выдается клиентской машине с адресом $IP_ клиенты в локалке будут доступны как по локальноу ИП так и по реальнику у клиента прописывается только локальный ИП 192,168,1,25 все остальное выполняет сервер $IFACE интерфейс например eth1:1 Link to post Share on other sites
ankos 19 Posted 2009-03-24 15:28:49 Author Share Posted 2009-03-24 15:28:49 если у клиента писать локальный IP например 192,168,1,45 то вот рабочий пример без использование ВПНIP_="реальник для клиента" NM="маска подсети реальников" BC="бродкаст" GW="подсеть " ifconfig $IFACE $NEW_IP netmask $NM broadcast $BC route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE iptables -t nat -A PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ iptables -A FORWARD -i eth0 -d $IP_ -j QUEUE iptables -A FORWARD -i eth1 -d $IP_ -j QUEUE iptables -I FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -I FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -t nat -I POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -I POSTROUTING -d $NEW_IP -s 10.0.0.0/8 -j SNAT --to-source $IP_ Большое спосибо! Немного изменил и пошло! Вот мои примеры: Поднимаю интерфейс! #!/bin/sh IFACE="eth0" LOCAL_IP="192.168.1.x" NEW_IP="80.91.x.x" NM="255.255.255.0" BC="x.x.x.x" GW="x.x.x.x" case "$1" in 'stop') route del $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE:0 ifconfig $IFACE:0 down ;; 'start') ifconfig $IFACE:0 $NEW_IP netmask $NM broadcast $BC route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE:0 ;; 'restart') $0 stop && $0 start ;; *) echo "usage $0 start|stop|restart" ;; esac NAT и розрешения для IP. #!/bin/sh IFACE="eth0:0" IP_="192.168.1.x" NEW_IP="80.91.x.x" NM="255.255.255.0" BC="x.x.x.x" GW="x.x.x.x" case "$1" in 'stop') iptables -t nat -D POSTROUTING -d $NEW_IP -s 192.168.1.0/24 -j SNAT --to-source $IP_ iptables -t nat -D POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -D FORWARD -i eth1 -d $IP_ -j ACCEPT iptables -D FORWARD -i eth0 -d $IP_ -j ACCEPT iptables -t nat -D PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ ;; 'start') iptables -t nat -A PREROUTING -d $NEW_IP -j DNAT --to-destination $IP_ iptables -A FORWARD -i eth0 -d $IP_ -j ACCEPT iptables -A FORWARD -i eth1 -d $IP_ -j ACCEPT iptables -t nat -I POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -I POSTROUTING -d $NEW_IP -s 192.168.1.0/24 -j SNAT --to-source $IP_ ;; 'restart') $0 stop && $0 start ;; *) echo "usage $0 start|stop|restart" ;; esac Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now