Добрый день ув Сообщество. Прошу помочь, кто чем может.
Мне необходимо создать виртуальный интерфейс с привязкой к физическому. В начале мне было достаточно алиасов, но потом потребовалось рулить интерфейсами с помощью iptables. А как известно последнему на алиасы пофиг, потому стал искать другое решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс но как, не знаю), потому прошу помощи.
Заранее благодарен всем за помощь.
http://www.opennet.me/tips/2683_linux_namespace_gateway_virt... ?
> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
> ?Спасибо, вроде то что нужно. Буду разбираться.
> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
> ?может macvlan ??? лучше подойдёт
> может macvlan ??? лучше подойдётО, здорово. iptables-ом видится под своим именем интерфейса? ...
... G://"macvlan"+site:opennet.ru ... 2all: Гм, кто /tips/ :)) напишет?
>> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
>> ?
> может macvlan ??? лучше подойдётинтересная штука но не катит. Блокирование одного интерфейса ведет к блокированию всех виртуальных интерфейсов
>>> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
>>> ?
>> может macvlan ??? лучше подойдёт
> интересная штука но не катит. Блокирование одного интерфейса ведет к блокированию всех
> виртуальных интерфейсовчто, правда? и чем вы их блокируете?
>>>> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
>>>> ?
>>> может macvlan ??? лучше подойдёт
>> интересная штука но не катит. Блокирование одного интерфейса ведет к блокированию всех
>> виртуальных интерфейсов
> что, правда? и чем вы их блокируете?iptables
>>>>> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
>>>>> ?
>>>> может macvlan ??? лучше подойдёт
>>> интересная штука но не катит. Блокирование одного интерфейса ведет к блокированию всех
>>> виртуальных интерфейсов
>> что, правда? и чем вы их блокируете?
> iptablesа можно полностью правило посмотреть?
как выше Андрей сказал можно это делать еще несколькими способами
1 bridge + tun/tap
2 использовать контейнеры
>[оверквотинг удален]
>>>>>> ?
>>>>> может macvlan ??? лучше подойдёт
>>>> интересная штука но не катит. Блокирование одного интерфейса ведет к блокированию всех
>>>> виртуальных интерфейсов
>>> что, правда? и чем вы их блокируете?
>> iptables
> а можно полностью правило посмотреть?
> как выше Андрей сказал можно это делать еще несколькими способами
> 1 bridge + tun/tap
> 2 использовать контейнерыКак использовать контейнеры я так и не понял, в вот bridge +tun/tap нужно будет попробовать. Спасибо
> http://www.opennet.me/tips/2683_linux_namespace_gateway_virt...
> ?Так и не понял как network namespaces использовать, действия из статьи ни к чему не приводят, а гугл вообще толком ничего сказать не может
> Добрый день ув Сообщество. Прошу помочь, кто чем может.
> Мне необходимо создать виртуальный интерфейс с привязкой к физическому. В начале мне
> было достаточно алиасов, но потом потребовалось рулить интерфейсами с помощью iptables.
> А как известно последнему на алиасы пофиг, потому стал искать другоеIP на алиасах разный - религия мешает проверять их в IPTables?
> решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс
> но как, не знаю), потому прошу помощи.
> Заранее благодарен всем за помощь.
>> Добрый день ув Сообщество. Прошу помочь, кто чем может.
>> Мне необходимо создать виртуальный интерфейс с привязкой к физическому. В начале мне
>> было достаточно алиасов, но потом потребовалось рулить интерфейсами с помощью iptables.
>> А как известно последнему на алиасы пофиг, потому стал искать другое
> IP на алиасах разный - религия мешает проверять их в IPTables?
>> решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс
>> но как, не знаю), потому прошу помощи.
>> Заранее благодарен всем за помощь.Да мешает. Мне необходимо рулить именно интерфейсами.
>>> Добрый день ув Сообщество. Прошу помочь, кто чем может.
>>> Мне необходимо создать виртуальный интерфейс с привязкой к физическому. В начале мне
>>> было достаточно алиасов, но потом потребовалось рулить интерфейсами с помощью iptables.
>>> А как известно последнему на алиасы пофиг, потому стал искать другое
>> IP на алиасах разный - религия мешает проверять их в IPTables?
>>> решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс
>>> но как, не знаю), потому прошу помощи.
>>> Заранее благодарен всем за помощь.
> Да мешает. Мне необходимо рулить именно интерфейсами.Нет слов. удачи.
>>>> Добрый день ув Сообщество. Прошу помочь, кто чем может.
>>>> Мне необходимо создать виртуальный интерфейс с привязкой к физическому. В начале мне
>>>> было достаточно алиасов, но потом потребовалось рулить интерфейсами с помощью iptables.
>>>> А как известно последнему на алиасы пофиг, потому стал искать другое
>>> IP на алиасах разный - религия мешает проверять их в IPTables?
>>>> решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс
>>>> но как, не знаю), потому прошу помощи.
>>>> Заранее благодарен всем за помощь.
>> Да мешает. Мне необходимо рулить именно интерфейсами.
> Нет слов. удачи.Я-то грешным делом подумал, что трафик надо фильтровать, а Вам оказывается надо
"
рулить интерфейсами с помощью iptables.
"
>[оверквотинг удален]
>>>> IP на алиасах разный - религия мешает проверять их в IPTables?
>>>>> решение, но найти никак не могу(догадываюсь что нужно делать tap интерфейс
>>>>> но как, не знаю), потому прошу помощи.
>>>>> Заранее благодарен всем за помощь.
>>> Да мешает. Мне необходимо рулить именно интерфейсами.
>> Нет слов. удачи.
> Я-то грешным делом подумал, что трафик надо фильтровать, а Вам оказывается надо
> "
> рулить интерфейсами с помощью iptables.
> "Мне нужно фильтровать трафик но обязательно по именам интерфейсов. использовать ip не могу
>[оверквотинг удален]
>>>>>> но как, не знаю), потому прошу помощи.
>>>>>> Заранее благодарен всем за помощь.
>>>> Да мешает. Мне необходимо рулить именно интерфейсами.
>>> Нет слов. удачи.
>> Я-то грешным делом подумал, что трафик надо фильтровать, а Вам оказывается надо
>> "
>> рулить интерфейсами с помощью iptables.
>> "
> Мне нужно фильтровать трафик но обязательно по именам интерфейсов. использовать ip не
> могуМожет тогда поясните откуда такое ограничение? Т.е более полно задачу опишите.
>[оверквотинг удален]
>>>>>>> Заранее благодарен всем за помощь.
>>>>> Да мешает. Мне необходимо рулить именно интерфейсами.
>>>> Нет слов. удачи.
>>> Я-то грешным делом подумал, что трафик надо фильтровать, а Вам оказывается надо
>>> "
>>> рулить интерфейсами с помощью iptables.
>>> "
>> Мне нужно фильтровать трафик но обязательно по именам интерфейсов. использовать ip не
>> могу
> Может тогда поясните откуда такое ограничение? Т.е более полно задачу опишите.Попробую. В машину Debian входит по одному и тому же проводу две сети. Адреса алиасов - 1.2 и 2.1 первая сеть -выход в интернет через SNAT вторая - локалка. Но есть еще третья сеть 3. которая доступна через роутер с адресом 2.2(те этот роутер находится в локалке) Те на Debian осуществляется перенаправление. В нем и проблема, потому что на него тоже распространяются правила ната. Как их отфильтровать кроме как по интерфейсам я не знаю
>Как их отфильтровать кроме как по интерфейсам я не знаюПо. ip. ?.
>>Как их отфильтровать кроме как по интерфейсам я не знаю
> По. ip. ?.В том то и беда что не получается. Нужно обозначить ip адрес интерфейса с которого пакеты уходят, но как это сделать средствами iptables я не знаю.
Или подошел бы вариант типа !192.168.3.0 но в iptables знака !(не) нету вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.
> ... но в iptables знака !(не) нету
> вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.А вы попробуйте, результат вас должен приятно удивить
>> ... но в iptables знака !(не) нету
>> вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.
> А вы попробуйте, результат вас должен приятно удивитьТолько сейчас попробовал такое правило (для проверки работоспособности знака !)
iptables -A OUTPUT -p icmp --dst '!192.168.6.1' -j DROP
отвечает:
iptables v1.4.10: host/network `!192.168.6.1' not foundможет что не так пишу? просто в документации нигде по этому вопросу ничего не нашел, вот и решил что нет такой возможности
>>> ... но в iptables знака !(не) нету
>>> вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.
>> А вы попробуйте, результат вас должен приятно удивить
> Только сейчас попробовал такое правило (для проверки работоспособности знака !)
> iptables -A OUTPUT -p icmp --dst '!192.168.6.1' -j DROP
> отвечает:
> iptables v1.4.10: host/network `!192.168.6.1' not found
> может что не так пишу? просто в документации нигде по этому вопросу
> ничего не нашел, вот и решил что нет такой возможностиman iptables, неменденно!!
iptables -A OUTPUT -p icmp \! --dst 192.168.6.1 -j DROP
>[оверквотинг удален]
>>>> вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.
>>> А вы попробуйте, результат вас должен приятно удивить
>> Только сейчас попробовал такое правило (для проверки работоспособности знака !)
>> iptables -A OUTPUT -p icmp --dst '!192.168.6.1' -j DROP
>> отвечает:
>> iptables v1.4.10: host/network `!192.168.6.1' not found
>> может что не так пишу? просто в документации нигде по этому вопросу
>> ничего не нашел, вот и решил что нет такой возможности
> man iptables, неменденно!!
> iptables -A OUTPUT -p icmp \! --dst 192.168.6.1 -j DROPОпа.
Очень благодарен. Просмотрел. Пошел курить повторно курить маны, может еще что пропустил интересное. Спасибо!
>>>> ... но в iptables знака !(не) нету
>>>> вроде. Других вариантов я не вижу. Если подскажите, буду очень признателен.
>>> А вы попробуйте, результат вас должен приятно удивить
>> Только сейчас попробовал такое правило (для проверки работоспособности знака !)
>> iptables -A OUTPUT -p icmp --dst '!192.168.6.1' -j DROP
>> отвечает:
>> iptables v1.4.10: host/network `!192.168.6.1' not found
>> может что не так пишу? просто в документации нигде по этому вопросу
>> ничего не нашел, вот и решил что нет такой возможности
> man iptables, неменденно!!угу. сам он все-таки не родил, как я ни старался на данную мысль навести )
> iptables -A OUTPUT -p icmp ! --dst 192.168.6.1 -j DROP
м/б?
iptables -A OUTPUT -p icmp --dst ! [пробел] 192.168.6.1 -j DROP
$man iptables
...
-d, --destination [!] address[/mask]
Destination specification. See the description of the -s
(source) flag for a detailed description of the syntax. The
flag --dst is an alias for this option.
...конечно скрипты обычно разбирают правила перед загрузкой, но они OS-depended. лучше в нативном формате IPT сразу правило писать
>[оверквотинг удален]
> мысль навести )
>> iptables -A OUTPUT -p icmp ! --dst 192.168.6.1 -j DROP
> м/б?
> iptables -A OUTPUT -p icmp --dst ! [пробел] 192.168.6.1 -j DROP
> $man iptables
> ...
> -d, --destination [!] address[/mask]
> Destination specification. See the description of the -s
> (source) flag for a detailed description of the syntax. The
> ...О, как.
[!] -d, --destination address[/mask][,...]
Destination specification. See the description of the -s (source) flag for a detailed descrip‐
tion of the syntax. The flag --dst is an alias for this option.
+
iptables 1.4.12.2 IPTABLES(8)
....
Однако:
-d, --destination [!] address[/mask]
в
# iptables -V
iptables v1.3.6
на другом (старом) хосте.
>[оверквотинг удален]
> alias for this option.
> +
> iptables 1.4.12.2 IPTABLES(8)
> ....
> Однако:
> -d, --destination [!] address[/mask]
> в
> # iptables -V
> iptables v1.3.6
> на другом (старом) хосте.v1.4 принимает синтаксис от v1.3 , но выкидывает предупреждении
>[оверквотинг удален]
> alias for this option.
> +
> iptables 1.4.12.2 IPTABLES(8)
> ....
> Однако:
> -d, --destination [!] address[/mask]
> в
> # iptables -V
> iptables v1.3.6
> на другом (старом) хосте.основная мысль была - писать правила в нативном для IPT формате ). и естественно для IPT установленном в системе. тоже конечно OC-зависимо, но гораздо меньше, чем инит-скрипты в разных дистрибутивах.
>>>Как их отфильтровать кроме как по интерфейсам я не знаю
>> По. ip. ?.
> В том то и беда что не получается. Нужно обозначить ip адрес
> интерфейса с которого пакеты уходят, но как это сделать средствами iptablesПо ip сети назначения?
>>>>Как их отфильтровать кроме как по интерфейсам я не знаю
>>> По. ip. ?.
>> В том то и беда что не получается. Нужно обозначить ip адрес
>> интерфейса с которого пакеты уходят, но как это сделать средствами iptables
> По ip сети назначения?так натятся пакеты все кроме 192.168.0.0 Те придется указывать диапазон до 192.168. и диапазон после. В принципе вариант рабочий но уж больно некрасивый имхо. Хочется этого избежать
>>>>>Как их отфильтровать кроме как по интерфейсам я не знаю
>>>> По. ip. ?.
>>> В том то и беда что не получается. Нужно обозначить ip адрес
>>> интерфейса с которого пакеты уходят, но как это сделать средствами iptables
>> По ip сети назначения?
> так натятся пакеты все кроме 192.168.0.0 Те придется указывать диапазон до 192.168.
> и диапазон после. В принципе вариант рабочий но уж больно
> некрасивый имхо. Хочется этого избежатьдля пакетов для которых не нужно делать snat, сделайте правило выше с -j ACCEPT
>>>>>>Как их отфильтровать кроме как по интерфейсам я не знаю
>>>>> По. ip. ?.
>>>> В том то и беда что не получается. Нужно обозначить ip адрес
>>>> интерфейса с которого пакеты уходят, но как это сделать средствами iptables
>>> По ip сети назначения?
>> так натятся пакеты все кроме 192.168.0.0 Те придется указывать диапазон до 192.168.
>> и диапазон после. В принципе вариант рабочий но уж больно
>> некрасивый имхо. Хочется этого избежать
> для пакетов для которых не нужно делать snat, сделайте правило выше с
> -j ACCEPTТак правила SNAT после фильтрации обрабатываются.
>> для пакетов для которых не нужно делать snat, сделайте правило выше с
>> -j ACCEPT
> Так правила SNAT после фильтрации обрабатываются.Перечитай порядок прохождения таблиц. Нет, ты не ошибся. Но обрати внимание на _значение -j ACCEPT в таблице nat? Это не тот ACCEPT, что в -t filter. Их два и они разные. И могут _независимо применяться к пакету/соединению. (Хотя не так и независимо, без второго-таки не будет первого, но это семантика...)
>>> для пакетов для которых не нужно делать snat, сделайте правило выше с
>>> -j ACCEPT
>> Так правила SNAT после фильтрации обрабатываются.
> Перечитай порядок прохождения таблиц. Нет, ты не ошибся. Но обрати внимание на
> _значение -j ACCEPT в таблице nat? Это не тот ACCEPT, что
> в -t filter. Их два и они разные. И могут _независимо
> применяться к пакету/соединению. (Хотя не так и независимо, без второго-таки не
> будет первого, но это семантика...)Спасибо. Пошел читать.
>>>> для пакетов для которых не нужно делать snat, сделайте правило выше с
>>>> -j ACCEPT
>>> Так правила SNAT после фильтрации обрабатываются.
>> Перечитай порядок прохождения таблиц. Нет, ты не ошибся. Но обрати внимание на
>> _значение -j ACCEPT в таблице nat? Это не тот ACCEPT, что
>> в -t filter. Их два и они разные. И могут _независимо
>> применяться к пакету/соединению. (Хотя не так и независимо, без второго-таки не
>> будет первого, но это семантика...)
> Спасибо. Пошел читать.Вот хорошая дока для изучения IPT (хоть и старая):
http://www.opennet.me/docs/RUS/iptables/Пропускай пока то, что непонятно - самое главное концепцию пойми: правила строятся в цепочки, цепочки правил принадлежат какой-то таблице, каждая таблица отвечает за обработку определенного вида трафика.
названия стандартных цепочек правил в разных таблицах часто совпадают, что первоначально может вызвать путаницу - для начала пойми какая таблица какой трафик обрабатывает, через какие таблицы нужный тебе трафик проходит, и все тогда все станет ясно.