automatic iptables rules inside docker container
Solution 1:
I managed to implement this by:
1) adding all iptables rules i wish to apply on a bash script .
2) Copy the bash to the container using the Dockerfile
3) Use again Dockerfile to run the iptables bash script within the container.
For example:
iptables script
#!/bin/bash
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -s 10.88.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -s 10.88.0.0/24 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
echo "iptables executed " > /root/iptables_echo
Dockerfile
FROM "openvpn-server:ready"
WORKDIR /etc/openvpn
USER root
COPY iptables.sh /usr/local/bin/iptables.sh
RUN chmod +x /usr/local/bin/iptables.sh && apt-get install iptables
CMD iptables.sh
EXPOSE 443:443/tcp