He estado buscando en Internet durante la última semana para encontrar una solución a esto, pero hasta ahora he llegado con las manos vacías.
Hay tres interfaces de red disponibles para mi host y necesito ejecutar un script phantomjs en la interfaz wlan1.
Mi idea era utilizar Docker, pero tengo problemas para bloquear un contenedor en una interfaz específica.
Esto es lo que he intentado, todo redirige a otra interfaz o no tiene acceso a la red. El único método que permite el acceso explícito a la interfaz que necesito es desactivar todas las demás interfaces.
/etc/systemd/system/docker.service.d/docker.conf
[Service] ExecStart= ExecStart=/usr/bin/docker daemon -b=wlan1 --ip=10.0.0.151 -H fd:// docker-compose.yml
version: "2" networks: open_network_1: driver: bridge driver_opts: com.docker.network.host_binding_ipv4: "10.0.0.151" services: open_wifi_phantomjs: image: https://github.com/ollihoo/phantomjs-docker-rpi networks: - open_network_1 ports: - 10.0.0.151:80:80 - 10.0.0.151:443:443También he jugado con el enrutamiento IP e iptables
ip route del 172.19.0.0/16 ip route add 172.19.0.0/16 dev wlan1 proto kernel scope link src 172.19.0.1 iptables -t nat -A POSTROUTING -s 172.19.0.0/16 -j SNAT --to-source 10.0.0.151172.19 sería la subred creada por la red docker-compose, 10.0.0.151 sería la ip asignada a la interfaz wlan1.
Cualquier idea sería apreciada, y estoy seguro de que ayudará a aquellos con objetivos similares.