URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6049
[ Назад ]

Исходное сообщение
"Несколько IP"

Отправлено 0nik , 28-Дек-06 11:47 
Заранее прошу прощения за безграмотность но видит Бог очень хочу научиться…
Перечитал в вдоль и поперек “iptables tutorial” но к сожалению немного не хватает практики =(
Ситуация до банальности проста
Есть
# Configur
LOCAL_IP=”10.8.129.0/24”
INET_IP=”10.8.0.0/16”
Iptables –t nat –A POSTROUTING –s $LOCAL_IP –d ! $INET_IP –o eth0 –j SNAT --to-source 10.8.129.2

Вопрос такой: как в LOCAL_IP поставить не 1 IP а много например
LOCAL_IP=”10.8.129.139/32” “10.8.129.8/32” “и такдалее” какой синтаксис идеи или каким образом можна это сделать ?
Мне не хочется писать для каждого userA отдельную строку….

Заранее спасибо за коменты.


Содержание

Сообщения в этом обсуждении
"Несколько IP"
Отправлено Romik , 28-Дек-06 15:25 
В примере LOCAL_IP=”10.8.129.0/24” - это сеть.
А вам  отдельные адреса только нужно NATить? тогда другого выхода, кроме как по очереди с каждым из них делать что-то вроде "Iptables –t nat –A POSTROUTING –s $LOCAL_IP –d ! $INET_IP –o eth0 –j SNAT --to-source 10.8.129.2". Можно это делать в цикле for ... do ... . Подробнее о синтаксисе цикла посмотрите в Advanced Bash Scripting Guide (есть русский перевод).


"Несколько IP"
Отправлено 0nik , 28-Дек-06 17:43 
LOCAL_IP=”10.8.129.0/24” - это сеть
Да это сеть но указана она полностью 254 адреса а меня интерисует указание отдельных адресов в свободном порядке, тем людям которым я буду давать инет, тоесть не все сети полностью а отдельным пользователям..

Подробнее о синтаксисе цикла посмотрите в Advanced Bash Scripting Guide (есть русский перевод).
Спасибо большое за --help =)



"Несколько IP"
Отправлено FarID , 29-Дек-06 12:42 
>LOCAL_IP=?10.8.129.0/24? - это сеть
>Да это сеть но указана она полностью 254 адреса а меня интерисует
>указание отдельных адресов в свободном порядке, тем людям которым я буду
>давать инет, тоесть не все сети полностью а отдельным пользователям..
кусок на какомто серве
>
>Подробнее о синтаксисе цикла посмотрите в Advanced Bash Scripting Guide (есть русский
>перевод).


blacklist=( 1.2.3.4 5.6.7.0/24 )
ipt="/usr/sbin/iptables"

for bl in "${blacklist[@]}"; do
            $ipt -A INPUT -s $bl -j REJECT --reject-with icmp-host-prohibited
done

работа с массивами хорошо написана в Advanced Bash Scripting Guide (http://www.opennet.me/docs/RUS/bash_scripting_guide/c12790.html)


"Несколько IP"
Отправлено tungus , 31-Дек-06 05:13 
use ipset

"Несколько IP"
Отправлено Den , 05-Янв-07 00:52 
>use ipset


именно Ipset, тогда можно обойтись всего одним правилом