Потрібно писати, що працює як daemon на будь-якій Linux-ОС програмі
250 UAHНужно написать работающую как daemon на любой linux-ОС программу, которая:
1. Считает IPv4-адрес интерфейса, например, eth0 (имя интерфейса брать из файла настроек "/tmp/myprog/interface.conf" и хранить тоже в нем, если файл не найден использовать по умолчанию "eth0") и записывает его в файл "/tmp/myprog/lastIPv4address.conf" с перезаписью.
#ifconfig eth0
eth0 Link encap:Ethernet HWaddr 76:3e:a4:99:52:cc
inetaddr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0
...
2. Копирует файл "/tmp/myprog/template.sh" (если не найден, выдать ошибку и записать в лог-файл адрес, по которому он не найден) в "/tmp/myprog/install.sh" (если "/tmp/myprog/install.sh" уже существует - то удалить его и продолжить копирование), считывает содержимое "/tmp/myprog/install.sh", вот пример его содержимого:
#!/bin/bash
...
iptables-t nat -F
iptables-t nat -A PREROUTING -d 10.15.0.3 -p tcp --dport 1004 -j DNAT--to-destination 192.168.0.124:1004
iptables-t nat -A POSTROUTING -d 192.168.0.124 -p tcp --dport 1004 -j SNAT--to-source $IPeth0
iptables-t nat -A PREROUTING -d 10.15.0.3 -p udp --dport 1004 -j DNAT--to-destination 192.168.0.124:1004
iptables-t nat -A POSTROUTING -d 192.168.0.124 -p udp --dport 1004 -j SNAT--to-source $IPeth0
3. Заменит в этом файле фразу "$IPeth0" на IPv4-адрес, тот который был получен с интерфейса eth0, например на "192.168.1.21" и сохранить изменения.
В результате должен получится файл с таким содержанием:
#!/bin/bash
...
iptables-t nat -F
iptables-t nat -A PREROUTING -d 10.15.0.3 -p tcp --dport 1004 -j DNAT--to-destination 192.168.0.124:1004
iptables-t nat -A POSTROUTING -d 192.168.0.124 -p tcp --dport 1004 -j SNAT--to-source 192.168.1.21
iptables-t nat -A PREROUTING -d 10.15.0.3 -p udp --dport 1004 -j DNAT--to-destination 192.168.0.124:1004
iptables-t nat -A POSTROUTING -d 192.168.0.124 -p udp --dport 1004 -j SNAT--to-source 192.168.1.21
4. Запустит этот скрипт "/tmp/myprog/install.sh" (например так: "sh /tmp/myprog/install.sh")
5. Даст команду операционной системе "iptables-save --table nat>/etc/firewall.conf" (путь брать из файла "/tmp/myprog/pathfw.conf", если файла нет, использовать путь "/etc/firewall.conf")
6. Через интервал, указанный в файле "/tmp/myprog/interval.conf" (если файла нет, интервал равен 3600) в секундах снова считывает IPv4-адрес интерфейса и сравнивает с тем, который записан в файле "/tmp/myprog/lastIPv4address.conf", если IP адреса на интерфейсе и в файле разные, то начать все с пункта 1, если одинаковые, то повторить этот пункт 6.
Відгук замовника про співпрацю з Ярославом Ерстенюком
Потрібно писати, що працює як daemon на будь-якій Linux-ОС програміРобота виконана на відмінно. Ярослав – хороший програміст. Повний час був на зв'язку, швидко реагував на повідомлення і зауваження. Велика подяка !
Відгук фрилансера про співпрацю з Вячеславом Поспеловым
Потрібно писати, що працює як daemon на будь-якій Linux-ОС програміПрекрасний замовник, дуже чітке тз. Було надзвичайно приємно співпрацювати і сподіваюсь на співпрацю в майбутньому)
-
176 5 0 Доброго дня!
Можу реалізувати Ваш проект. Мова програмування-С++.
Використовую linux-систему(Ubuntu 14.04 LTS) як основну ОС рік, всі свої проекти пишу спочатку під цю систему( а тоді при необхідності використовую wine для кроскомпіляції і тестую на вінді).
-
161 5 1 Здравствуйте!
-
На каких еще языках можно написать данную программу?
-
Актуальні фриланс-проєкти в категорії C та C++
Проект по розробці програмного забезпечення для мікроконтролерівВітаю шановні! Шукаю спеціаліста або команду, яка зможе розробити програмну частину для розповсюджених мікроконтролерів типу Arduino, ESP або Raspberry-Pi. Ключові моменті: - контролер повинен отримувати на вхід 5 аналогових сигналів, - на виході повинен видавати також 5… C та C++, Системне програмування ∙ 1 ставка |
Скрипт, який буде взаємодіяти за допомогою зображенняПотрібен скрипт, який буде взаємодіяти за допомогою зображення + тексту (назва товару на екрані) + ціни. Проще кажучи, скрипт повинен натискати на логотип платформи (зліва зверху білий текст), щоб оновлювати асортимент товарів (кожні 3-5 секунд), потім повинен бути пошук за… C та C++, Python ∙ 8 ставок |
Створення телеграм бота з інтеграцією GPT
12 000 UAH
|
Налаштувати обмін данними між jetson nano та іншим пристроєм по can шиНалаштувати обмін данними між jetson nano та іншим пристроєм по can шині за допомогою RS485 CAN документація і приклади тут: https://www.waveshare.com/wiki/RS485_CAN_for_Jetson_Nano Пакет даних, що передаються розбивається на фрейми розміром по 8 байт, кодування перших 7 байт… C та C++, Linux та Unix ∙ 2 ставки |
Інфрачервоний датчик температури ZigBeeПотрібен інфрачервоний датчик температури з передачею даних через протокол ZigBee на сервер Home Assistants в MQTT Обладнання : Модуль ESP32-C6-WROOM-1-N8 інфрачервоний термометр MLX90614 + додати світлодіод лазер для означення, де счивається температура C та C++, Вбудовані системи та мікроконтролери ∙ 1 ставка |