Поскольку вы, похоже, используете один и тот же диапазон адресов для Wi-Fi A и WiFi B, а у Linux есть только один адрес в этом диапазоне, я думаю, вам нужно будет соединить два интерфейса wlan (, т.е. рассматривать их как один сети ), и в этом случае ваши правила iptables должны будут ссылаться на интерфейс моста.
См. этот вопрос для некоторых идей о настройке фильтрации в мостовой сети. В качестве альтернативы, если вы назначили разные подсети 192.170.1.xx для каждой сети Wi-Fi, тогда Linux-боксу потребуется 1 IP-адрес в каждой подсети, а не один адрес 192.170.1.253, который вы укажете.
Вот что наконец сработало для меня (в Ubuntu 18.04 ).
Не забывайте/home/username/start_script.sh
(chmod +x
для этого файла):
#!/bin/bash
set -x
set -e
byobu list-sessions | grep my-app || byobu new-session -d -s my-app
byobu list-windows -t my-app | grep start-script || byobu new-window -t my-app -n 'start-script'
byobu send-keys -t my-app:start-script "cd /home/username/scripts/ && python userscript1.py" C-m
И/etc/systemd/system/my-app.start_script.service
:
[Unit]
Description=My app start script
[Service]
Type=forking
ExecStart=/bin/bash -l -c '/home/username/start_script.sh'
User=username
Group=usergroupname
[Install]
WantedBy=multi-user.target
Затем установите его благодаря sudo systemctl enable my-app.start_script.service
.
Посмотреть логи службы:sudo journalctl -u my-app.start_script.service
.
Благодаря этому ответу , этому и этому за подсказки.
У вас есть #/bin/bash в качестве первой строки в вашем скрипте? Не уверен, решит ли это проблему или нет, но таким образом вы можете просто вызвать свой скрипт в записи ExecStart.