Шлюз на Ubuntu и пул внешних IP адресов
Dmitry Glazov
dyug.od на gmail.com
Чт Апр 8 12:44:30 BST 2010
Илья пишет:
>
> 07.04.10, 22:47, "Sergey Al" <veo на nixteam.spb.ru>:
>
>> Друзья, есть шлюз на убунту x64 9.04
>>
>> Перед шлюзом соответственно провайдер. За шлюзом небольшая сетка. Но в
>> этой сети есть 5 человек, которые хотят себе внешние IP. Мне выделили
>> пул IP. Но как пробросить и закрепить эти IP к компам в локальной сети?
>>
>> Подскажите куда рыть? ПЛЗ
>>
>> Заранее благодарю)
>
> Во первых, я думаю необходимо на шлюзе необходимо установить сетевую карту с возможностью настройки
> нескольких ip адресов на один физический канал (в данном случае 6),
я так надеюсь, что Вы нам расскажете, какие "сетевые карты с
возможностью настройки нескольких ip адресов на физический канал"
существуют, и какие НЕ поддерживают данную функцию... :-)
> возможно это делается программными методами (бридж). Ну а далее iptables.
Это делается программными средствами без каких либо возможно.
вот как у меня например :-)
------------------------
#!/bin/bash
#
IFACE="eth3:0"
LOCAL_IP="192.168.44.10"
NEW_IP="192.168.203.17"
NAME="1srv"
## NE Menyat!!!!
IFACE1="eth3"
NM="255.255.254.0"
BC="192.168.203.255"
GW="192.168.202.252"
#table="inet_ut"
case "$1" in
'start')
/sbin/ifconfig $IFACE $NEW_IP netmask $NM broadcast $BC
/sbin/route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE
/usr/sbin/iptables -t nat -A PREROUTING -p all -d $NEW_IP -j DNAT
--to-destination $LOCAL_IP
/usr/sbin/iptables -A FORWARD -i eth3 -d $LOCAL_IP -j ACCEPT
/usr/sbin/iptables -t nat -A POSTROUTING -s $LOCAL_IP -o $IFACE1 -j SNAT
--to-source $NEW_IP
;;
'stop')
/usr/sbin/iptables -t nat -D POSTROUTING -s $LOCAL_IP -o $IFACE1 -j SNAT
--to-source $NEW_IP
/usr/sbin/iptables -D FORWARD -i eth3 -d $LOCAL_IP -j ACCEPT
/usr/sbin/iptables -t nat -D PREROUTING -p all -d $NEW_IP -j DNAT
--to-destination $LOCAL_IP
/sbin/route del $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE:0
/sbin/ifconfig $IFACE down
;;
'restart')
$0 stop && $0 start
;;
*)
echo "usage $0 start|stop|restart"
;;
esac
--------------------------
Это полный старт-стоп для слаквари примерно 9.. :-)
оно стоит внутри, и роутит между моей сетью и сетью наших друзей
Краткое описание упомянутых переменных
IFACE="eth3:0" Имя интерфейса Это алиас интерфейса
LOCAL_IP="192.168.44.10" Внутренний интерфейс внутри моей сети
NEW_IP="192.168.203.17" Внешний Ип для друзей
NAME="1srv" имя цепочки для иптаблес
IFACE1="eth3" Имя опорного (физического) интерфейса
NM="255.255.254.0" Нетмаск внешнй сети
BC="192.168.203.255" вбродкаст внешней сети
GW="192.168.202.252" дефаулт гетвей для внешней сети
Вроде все...
Скопировал с рабочей системы.
старт стоп мне нужен для борьбы с нашими пользователями.
Подробная информация о списке рассылки ubuntu-ru