Ответы пользователя по тегу Debian
  • Как правильно настроить шлюз на виртуалке Debian?

    @krosh
    Вы хотите в сетях разобраться или работать?

    Если работать и больше ничего. Начните с https://www.whonix.org/. Там есть гейтвей и воркстейшен. Простая инструкция. Потом подпимите впн-клиента на гейтвее, как на обычном линуксе и все будет работать.

    Если разобраться.

    1. Делаем 2 ВМ: Шлюз, вПК. В настройках вирт. адаптера объединяем их в один сегмент локальной сети. Шлюз - 2 адаптера: первый - внешний пусть пока будет НАТ или мост, если у вас есть домашняя сеть с роутером; второй - локальный, там указываете имя сегмента вирт. локальной сети. И Виртуалбокс и ВМВарь это умеют.

    2. Настройте Шлюз как обычно, чтобы он пускал в сеть вПК. Это класическая тема, ищите мануалы в сети snat + forwarding. Как настроите и проверите, можно дальше двигаться.

    3. На Шлюзе настраивайте впн-клиент до внешнего впн-сервера. Проверяте чтобы локально работало через впн-сервер и дефолтовый маршрут был на впн-сервер. Логично, что тогда и вПК будет ходить в инет также. Ему-то пофиг, что там с трафиком после того, как он отправил его своему дефолтовому гейтвею.

    4. Научиться контролировать статус соединения, чтобы не было утечки, когда впн на Шлюзе не работает. И запросы к ДНС или на Шлюзе обрабатывались, или через впн шли.

    5. И почему Дебиан 9.9? Берите уже 10-ку.
    Ответ написан
    Комментировать
  • Вывод результата работы сервиса Linux?

    @krosh
    journalctl -f -u myscript

    Если предположить, что Вы использовали возможности systemd.

    Либо перенаправление > логов в файл и команда tail -f
    Ответ написан
    2 комментария
  • Почему не видит внешний ip адрес пользователя?

    @krosh
    Это нормально, так NAT (Network Address Translation, сетевая трансляция адресов) и работает - подменяет в заголовках пакета один адрес на другой, поэтому у Вас и получается проброс портов и сокрытие внутренней сети от внешнего наблюдателя.

    Вы будете видеть правильные удаленные адреса в случае с маршрутизируемой сетью, т.е. когда не будет NAT, а будет просто проброс трафика с одного интерфейса на другой. Ну или прокси-сервер ставить. Еще есть варинат с VPN-сервером, но тогда каждому клиенту нужно будет ставить vpn-клиента и все будут в одной виртуальной подсети, но все же на конечном сервере Вы будете видеть серые адреса, хотя на VPN-сервере сможете соотнести белый-серый. Наверное других способов тут нет.

    Правила в INPUT не работают, можете их убрать. И рекомендуется MASQUERADE менять на SNAT, если внешний адрес постоянный.
    Ответ написан
    Комментировать
  • Настройки iptables для транзита на другой сервер?

    @krosh
    Что-то у Вас каша с правилами. Чтобы порт пробросить в локальную сеть нужно три правила в цепочках: PREROUTING, POSTROUTING и FORWARD.

    Попробуйте почистить все и использовать такие:
    #Пакеты с нужного адреса заворачиваем на компьютер
    iptables -t nat -A PREROUTING -d 22.22.22.22 --dport 9090 -i eth0 -j DNAT --to-destination 196.168.1.200:9090
    
    #Получаем интернет в локалке - это не обязательно, если инет через другой шлюз
    #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 22.22.22.22
    
    #Меняем адрес источника на локальный
    iptables -t nat -A POSTROUTING -d 196.168.1.200 -p tcp -m tcp --dport 9090 -j SNAT --to-source 196.168.1.100
    
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -m comment --comment "ALLOW Установленные соединения" -j ACCEPT
    iptables -A FORWARD -p tcp -m tcp --dport 9090 -m comment --comment "ALLOW LAN all 9090" -j ACCEPT


    Цепочка INPUT не влияет на проходящий трафик, можете правило для 9090 от туда удалять.

    Если у Debian есть .100, то не вижу смысла ему еще выдавать какой-то.
    Ответ написан
    3 комментария
  • Как установить Debian 9 Stretch на программный RAID1 (не ставится GRUB)?

    @krosh
    grub-install /dev/sd{o,m,n}

    Не забудьте в RAID1 GRUB поставить в MBR на все три диска.
    Ответ написан
    Комментировать
  • Как исправить проблему с модулем geoip iptables?

    @krosh
    Надо другое ядро ставить. На хостинге OVH дистрибутивы поставляются с кастомным ядром (почему так, я не знаю.
    Поменяйте ядро, например как пишут How to switch to the standard Ubuntu kernel on OVH и все получится.
    Ответ написан
  • Почему не срабатывают настройки iptables?

    @krosh
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -s IP_ADDR -j ACCEPT
    ... дополнительные правила
    iptables -P INPUT DROP
    Ответ написан
    Комментировать
  • Как узнать все активно использующийся UDP порты зная только IP адрес?

    @krosh
    nmap -sU -sV -p- 192.168.1.1
    nmap -sU -sV -p 27015-27500 192.168.1.1

    man nmap

    -sU (Различные типы UDP сканирования)
    В то время как большинство сервисов Интернета используют TCP протокол, UDP службы также широко распространены. Тремя наиболее популярными являются DNS, SNMP и DHCP (используют порты 53, 161/162 и 67/68). Т.к. UDP сканирование в общем случае медленнее и сложнее TCP, то многие специалисты по безопасности игнорируют эти порты. Это является ошибкой, т.к. существуют UDP службы, которые используются атакующими. К счастью, Nmap позволяет инвентаризировать UDP порты.

    UDP сканирование запускается опцией -sU. Оно может быть скомбинировано с каким-либо типом TCP сканирования, например SYN сканирование (-sS), чтобы использовать оба протокола за один проход.

    UDP сканирование работает путем посылки пустого (без данных) UDP заголовка на каждый целевой порт. Если в ответ приходит ICMP ошибка о недостижимости порта (тип 3, код 3), значит порт закрыт. Другие ICMP ошибки недостижимости (тип 3, коды 1, 2, 9, 10 или 13) указывают на то, что порт фильтруется. Иногда, служба будет отвечать UDP пакетом, указывая на то, что порт открыт. Если после нескольких попыток не было получено никакого ответа, то порт классифицируется как открыт|фильтруется. Это означает, что порт может быть открыт, или, возможно, пакетный фильтр блокирует его. Функция определения версии (-sV) может быть полезна для дифференциации действительно открытых портов и фильтруемых.

    Большой проблемой при UDP сканировании является его медленная скорость работы. Открытые и фильтруемые порты редко посылают какие-либо ответы, заставляя Nmap отправлять повторные запросы, на случай если пакеты были утеряны. Закрытые порты часто оказываются еще большей проблемой. Обычно они в ответ возвращают ICMP ошибку о недостижимости порта. Но в отличии от RST пакетов отсылаемых закрытыми TCP портами в ответ на SYN или сканирование с установкой соединения, многие хосты ограничивают лимит ICMP сообщений о недостижимости порта по умолчанию. Linux и Solaris особенно строги в этом плане. Например, ядро Linux 2.4.20 огранивает количество таких сообщений до одного в секунду (в net/ipv4/icmp.c).

    Nmap обнаруживает такого рода ограничения и соответственно сокращает количество запросов, чтобы не забивать сеть бесполезными пакетами, которые все равно будут отброшены целевой машиной. К сожалению, при ограничении в стиле Linux (один пакет в секунду) сканирование 65,536 портов займет более 18 часов. К способам увеличения скорости UDP сканирования относятся: параллельное сканирование нескольких хостов, сканирование в первую очередь только наиболее популярных портов, сканирование из-за брандмауэра и использование --host-timeout дял пропуска медленных хостов.

    https://nmap.org/man/ru/man-port-specification.html
    Ответ написан
    Комментировать
  • Как в iptables открыть порт только для частной сети?

    @krosh
    Странно, но правила выглядят рабочими. Может что-то не так на стороне клиента?

    Вместо iptables -A INPUT -j DROP
    используйте iptables -P INPUT DROP

    Рекомендую пользоваться:
    iptables-save > ipt.rules
    iptables-restore < ipt.rules


    Попробуйте посмотреть лог. Надо перед ACCEPTами добаивить:
    iptables -A INPUT -p tcp --dport 22 -j LOG
    iptables -A OUTPUT -p TCP --sport 22 -j LOG


    и потом
    journalctl -f

    SSH-клиент работает?
    Если -P OUTPUT ACCEPT, работает?
    Нужно посмотреть вывод на сервере и клиенте
    ip a
    iptables-save
    netstat -plnt


    Ну и вообще нет смысла на хосте ограничивать OUTPUT. Это логично делать на пограничном МЭ. Софт сам будет слать данные в сеть? Зачем эти ограничения? Если INPUT будет фильтроваться, значит и ответных пакетов не будет. А если злоумышленник взломает сервер, то логично, что он сможет добавить исключение для своего приложения.
    Ответ написан
    Комментировать