• Как форварднуть трафик из eth0 в tun-интерфейс и обратно?

    @azazelpw
    Linux SA
    Если я правильно вашу схему понимаю, то примерно так.
    iptables -t nat -A POSTROUTING -s 15.0.0.0/24 -d 111.222.5.6 -o eth0 --jump SNAT --to-source 192.168.0.1
    Трафик пришедший с туннеля 15.0.0.0/24 и идущий по адресу 111.222.5.6 мы передаем через gw 192.168.0.1
    Ответ написан
    Комментировать
  • Как форварднуть трафик из eth0 в tun-интерфейс и обратно?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Дело в том, что Application не подозревает, что он за tun-интерфейсом. Он думает, что он 192.168.0.1 и шлет IP-пакеты с source address=192.168.0.1, destination=111.222.5.6.

    Ну так надо application научить тому, что адрес его -- 15.0.0.1. Либо в some application layer выполнить трансляцию из 192.168.0.1 в 15.0.0.0 и обратно.

    После этого включить на хосте маршрутизацию (echo 1 > /proc/sys/net/ipv4/ip_forward), а в iptables -- SNAT или маскарадинг в eth0 (iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE), и проверить, что форвардинг не запрещён на уровне iptables.

    Хотя, мне кажется (а из описания не ясно), что 15.0.0.1 -- это адрес хостовой стороны tun-интерфейса, а адрес приложения с той стороны tun-интерфейса -- какой-то другой, вероятно из подсети 15.0.0.0. Расскажите подробнее о том, как ваше приложение использует tun.
    Ответ написан
    5 комментариев
  • Как форварднуть трафик из eth0 в tun-интерфейс и обратно?

    Softer
    @Softer
    Может сделать bridge (tun+eth) и назначить ему 192.168.0.1? Тогда у App реально будет 192.168.0.1...
    Вот только получится ли сделать бридж tun и eth... :)

    Или городить SNAT+DNAT...
    Ответ написан
    1 комментарий
  • [Doxygen] Как заставить Doxygen НЕ склеивать описания функции, заимплеменченой дважды?

    Не могу себе представить, как заставить doxygen различать функции с одной и той же сигнатурой. Самый реальный способ на мой взгляд - собирать различные варианты документации с разными макросами (PREDEFINED) и затем читать нужный вам. Препроцессор doxygen обрабатывает файлы по такому же принципу, что и компилятор (только не все конструкции поддерживает), поэтому как сама программа компилится отдельно с разными конфигурациями, так должна и документация. Иначе вам нужно все-таки различать эти функции явно.
    Ответ написан
    4 комментария
  • Qt: странное поведение QByteArray::replace

    PavelK
    @PavelK
    Ничего странного нет.
    Вы указываете ему сколько заменить а НА СКОЛЬКО (четвёртый параметр функции)
    не указали. Вот он и допихивает после замены остальное, сдвигая при этом то, что было.
    Как то так:
    ba->replace(lastPos, ba->size(), reply->readAll(), reply->bytesAvailable());

    Или если Вам нужно оставить то, что было в исходном массиве, то и вторым и четвёртым параметром укажите одинаковое значение - сколько заменять, т.е. reply->bytesAvailable()
    Надеюсь, заработает, но лучше свериться с документацией.

    Пример работает потомучто строка такой же длины как и сколько нужно заменить, поэтому впихивать уже нечего.
    Ответ написан
    5 комментариев
  • Какой должен быть необходимый набор знаний перед поступлением в интернатуру IT-компании?

    MikhailD
    @MikhailD
    Developer
    Ну так попробуйте! Если знаний недостаточно - вам сообщат, тогда и будите думать о том, как исправить эту ситуацию. Да и наверняка в описании предложения от компании есть список необходимых навыков. Если его нет - можно об этом спросить у представителей компании.
    Ответ написан
    4 комментария
  • Сложная жизненная ситуация у девушки, решившей стать программистом. Что делать?

    @AssF
    Если правда нужен совет, то:
    1. Какие бы не были родители, они твои родители, и если хочешь не просто стать фронтенд программистом, а хочешь получать удовольствие от жизни, то все-таки лучше как-то наладить отношения. И как бы все грустно не казалось, но это вполне типичная ситуация конфликта "отцов и детей", ничего нового. Скажу по-личному опыту, чтобы тебя восприняли на другом уровне, то и вести себя нужно соответствующим взрослому человеку. Я сам понимаю как бесит недопонимание и как бесит, когда никаких аргументов нет, но считают по советской модели, что ты должен работать в одном месте всю свою жизнь, ведь это стабильность. Но научиться находить точки соприкосновения - это отличный навык, который вам поможет контролировать свои эмоции, держать себя в руках и налаживать контакты.

    2. После того, как в первую очередь, укреплена "личность", когда расставлены приоритеты и цели, действуешь в соответствии с ними. Проблема "зависимости от родителей" решается только одним путем - стать финансово независимым. Да, пока это не так, они имеют право диктовать какие-то условия, ведь они тоже хотят чтобы вы занялись каким-то делом, а "работа в каком-то интернете это не работа". Значит считаете сколько денег вам надо на "прожиточный минимум", анализируете как достичь этой цифры и вперед. Если вы утверждаете, что можете зарабатывать в интернете, но не делаете этого - значит не можете. Это суровая правда. Стремление достичь целей - это очень похвально, мотивация - великолепно, приложите усилия теперь в правильное русло и тогда сможете разговаривать с родителями на равных.

    3. По поводу образования комментировать не буду, потому что с одной стороны вы пытаетесь идти "против системы", с другой вы говорите про "обстоятельства, мешающие вам". Проактивность заключается не только видеть, что я хочу, но и в том как этого достичь. По поводу того, что образование это пережиток прошлого - могу поспорить. Если подходить к вопросу фактически - то все зависит от того, как ты сам потратишь это время обучения, потому что да, вуз дает минимум, расширяет кругозор в чем-то, но 85% зависит от тебя - как ты тратишь свое время. И то, что я считал бесполезной теоретической хренью, позже оказалось нужным и я жалел об упущенных тогда возможностях. Так же стоит учесть тот фактор, что образование - это статус. Да, это формальность, но жизнь в государстве подразумевает много формальностей. Недавно даже видел свежие спецификации по определению того, кто может считаться программистом и да, государство по-прежнему считает, что для этого нужно образование. Поэтому истории успешных людей - это круто и реально мотивируют, но нужно еще понимать, что есть еще и нюансы связанные с формальностями, и не важно насколько ты творческий и креативный человек, будь добр заполнить такой-то документ в соответствии с установленной каким-нибудь Госкомстатом формой) Законы у нас меняются постоянно, жить еще не пару лет, так что как говорится "а мало ли".

    4. Фронтенд разработка насколько мне известно уже весьма конкурентная среда, следовательно читать взахлеб много курсов - это одно, это позволяет быстрее набирать "базу", но при этом все равно все должно пройти через призму практики. Мой опыт подсказывает, что даже перечитывая тот же материал через N времени, ты уже находишь нечто новое и открывается понимание, как это применять, потому что ты сталкивался с подобными проблемами. В книгах и курсах обычно упрощенные примеры, которые демонстрируют идеи и подходы, либо техническую базу, как некий справочник команд. Но решение конкретных поставленных задач, когда нужно все это собрать в решение проблемы - это другой уровень, а значит вам нужно сейчас за оставшееся время нарабатывать портфолио. При том, что самые первые работы в него возможно не попадут, дабы не портить общую картину.

    В любом случае можно пожелать успеха в достижении своих целей :)

    P.s. еще вспомнилось, в одном из выступление TED, как раз говорилось о том, что люди сегодня становятся снобами и мерят успех человека по его состоянию, зарабатываемым деньгам и т.п.
    Ответ написан
    Комментировать