Ответы пользователя по тегу Iptables
  • Почему iptables не записывает в лог?

    Mystray
    @Mystray
    NOC
    Потому, что так написаны правила.
    Первый SYN-пакет у вас не будет записан, так как меньше 500 байт, и пойдет дальше, где будет принят согласно -P INPUT ACCEPT, а все последующие пакеты в рамках уже установленного соединения будут приниматься раньше, чем правило логирования, согласно --ctstate ESTABLISHED,RELATED -j ACCEPT
    Порядок имеет значение, а действия вроде DROP или ACCEPT - являются терминирующими, после них пакет дальше не идет по цепочке правил
    Ответ написан
    2 комментария
  • Кто сталкивался что iptables -j SNAT не всегда "натит" пакеты?

    Mystray
    @Mystray
    NOC
    Через -t nat проходит только первый пакет из каждого соединения, и он должен быть в состоянии коннтрека NEW, все остальные "отначенные" пакеты в рамках соединения "визуально" не проходят через эту таблицу, и не считаются, хоть и натятся.
    А если у вас изначально пролетают пакеты в состоянии "INVALID", то они тоже не пройдут через -t nat. Не нравится такое поведение - делайте -I FORWARD -m state --state INVALID -j DROP
    Ответ написан
  • Iptables проброс портов?

    Mystray
    @Mystray
    NOC
    пытаюсь выполнить ssh 192.168.0.4 -p 2222 получаю фигу

    Логично, ведь на 192.168.0.4 слушается 22 порт.
    Стучаться надо на ssh 192.168.0.2 -p 2222, тогда 192.168.0.2 поменяет в соединении адреса и перенаправит запрос на 192.168.0.4, пр чем от своего имени-адреса
    Ответ написан
    1 комментарий
  • Как настроить хост, чтобы IP контейнера Openvz определялся корректно?

    Mystray
    @Mystray
    NOC
    Но при исходящих соединениях с него IP определяется хоста, а не контейнера.

    А что вы собственно хотели?
    post-up iptables -t nat -A POSTROUTING -s 'y.y.y.119/24' -o eth0 -j MASQUERADE

    MASQUERADE и подменяет в исходящих соединениях source адрес на адрес хоста
    Ответ написан
  • Можно ли использовать в IPtables hex-string паттерн?

    Mystray
    @Mystray
    NOC
    iptables -m u32
    Преобразовываете свою строку в байтовую последовательность и указываете маску искомой строки.
    Ответ написан
    Комментировать
  • Как убрать определенное правило iptables?

    Mystray
    @Mystray
    NOC
    Дополню automatik
    Можно просто из вывода iptables-save (или iptables -S, но можно запутаться в цепочках) ввести правило к удалению, заменив -A на -D
    Ключ -D удаляет правило, полностью подпадающее под определение.
    iptables -D INPUT -i eth0 -p udp -m udp --dport 80 -j DROP
    iptables -D INPUT -i eth0 -p tcp -m udp --dport 80 -j DROP
    Ответ написан
    Комментировать
  • Как запретить исходящие соединения к 80 порту на ПК, подключенных к VPN на базе PPTPD в Ubuntu Server?

    Mystray
    @Mystray
    NOC
    А зачем вы в OUTPUT добавили? Это и есть цепочка для исходящих с самого сервера.
    Вам надо в FORWARD добавить, и еще указать исходящий, к примеру, интерфейс или диапазон адресов, чтоб не зарезать вообще весь транзитный трафик на 80 порт.
    Ответ написан
    4 комментария
  • Iptables redirect eth0 to eth1, как проверить работоспособность?

    Mystray
    @Mystray
    NOC
    Не очень понятно что вы хотите сделать. Что за адрес в дНАТ, какие адреса на интерйфейсах?

    #собственно думаю понятно, что я хотел сделать

    Не очень. Сначала вы запретили форвард, потом разрешили его же. У вас там больше двух адаптеров?

    Если вам надо сделать простой примитивный НАТ, как на обычных роутерах, то это делается абсолютно иначе, без dnat, зато с snat/masquerade.
    iptables -t nat -A POSTROUTING -o <интерфейс в сторону интернета> -j MASQUERADE
    iptables -P FORWARD ACCEPT
    sysctl -w net.ipv4.ip_forward=1

    Этого, как правило, достаточно, если не накосячили в других местах.
    Ответ написан
  • Можно ли замаскировать зарубежный хостинг под российский?

    Mystray
    @Mystray
    NOC
    У такого решения есть минусы. Например, в логах удаленного сервера все обращения будут с IP промежуточного сервера, вместо реального клиента. Может, лучше уж поставить реверс-прокси и уже с него ломиться на удаленный? Оно решит проблему подстановкой дополнительных заголовков.
    Вторая проблема: если захотят подкопаться, то вполне могут найти и реально расположение (например, если сервер может инициировать соединения, скачивая файлы по ссылке, или отправляя почту напрямую), или банальной трассировкой. В таком варианте решение - только ВПН до удаленного хоста и заворачивание всего трафика через впн.
    Ответ написан
    Комментировать
  • Как перенаправить трафик вместе с ip клиента?

    Mystray
    @Mystray
    NOC
    Вот это вот:
    iptables -t nat -A POSTROUTING -j MASQUERADE
    подменяет Source IP адрес у всех уходящих пакетов на IP этой машины. Уберете это правило (или ограничите область его действия) - не будет подменяться.
    Но надо следить, чтоб и обратный трафик так же проходил через ту же машину, которая подменяет адреса, как минимум для протоколов с двусторонним обменом данными. Без этого все сломается.
    Если же там syslog или другие "односторонние" udp-протоколы, то будет нормально.

    Либо, если есть возможность, использовать прокси и средства L7 протоколов вроде заголовка X-Forwarded-For.
    Ответ написан
    Комментировать
  • Исходящие соединения iptables?

    Mystray
    @Mystray
    NOC
    Модуль nf_conntrack в наличии и загружен?
    Ответ написан
  • Как натить ответы на tcp соединения?

    Mystray
    @Mystray
    NOC
    Очень топорное и рискующее отстрелить себе ногу решение: stateless nat (tc filter action nat) . В вашем случае вешать на интерфейс в сторону клиента. Ему плевать на состояние, на флаги tcp и на iptables, оно просто ставит один адрес вместо второго не всех пакетах, подпадающих под match.
    Как-то так (не уверен насчет правильности аргументов, синтаксис tc страшен как ядерная война)
    # tc qdisc add dev eth0 root handle 1: htb
    # tc filter add dev eth0 \
    protocol ip parent 1: prio 10 u32 \
    match ip src 192.168.100.246/32 \
    match ip protocol 6 0xff \
    match ip sport 5689 0xffff \
    action nat egress 192.168.100.246/32 192.168.49.56
    Ответ написан