Есть шлюз. Есть VPN подключение которое выполняется через NM. Ну просто ставлю или снимаю галку.
Текущие правила iptables такие:
# Generated by iptables-save v1.6.0 on Tue Jun 13 15:57:34 2017
*mangle
:PREROUTING ACCEPT [48397:70549126]
:INPUT ACCEPT [48251:70539386]
:FORWARD ACCEPT [139:8867]
:OUTPUT ACCEPT [24850:2928514]
:POSTROUTING ACCEPT [24989:2937381]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Tue Jun 13 15:57:34 2017
# Generated by iptables-save v1.6.0 on Tue Jun 13 15:57:34 2017
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j SNAT --to-source 80.80.{мой внешний IP}
COMMIT
# Completed on Tue Jun 13 15:57:34 2017
# Generated by iptables-save v1.6.0 on Tue Jun 13 15:57:34 2017
*filter
:INPUT DROP [5:2880]
:FORWARD ACCEPT [139:8867]
:OUTPUT ACCEPT [24850:2928514]
:BAD_PACKETS - [0:0]
:ICMP_PACKETS - [0:0]
:SAFETY_TRACE - [0:0]
:TCP_PACKETS - [0:0]
:UDP_PACKETS - [0:0]
-A INPUT -j SAFETY_TRACE
-A INPUT -j BAD_PACKETS
-A INPUT -p tcp -j TCP_PACKETS
-A INPUT -p udp -j UDP_PACKETS
-A INPUT -p icmp -j ICMP_PACKETS
-A BAD_PACKETS -m conntrack --ctstate INVALID -j DROP
-A BAD_PACKETS -f -j DROP
-A BAD_PACKETS -s 127.0.0.0/8 ! -i lo -j DROP
-A BAD_PACKETS -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate INVALID,NEW -j LOG --log-prefix "iptabler:ip spoofing: "
-A BAD_PACKETS -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m conntrack --ctstate INVALID,NEW -j REJECT --reject-with tcp-reset
-A BAD_PACKETS -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -m limit --limit 3/min -j LOG --log-prefix "iptabler:new not syn: "
-A BAD_PACKETS -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j DROP
-A BAD_PACKETS -p udp -m udp --dport 113 -m limit --limit 3/min -j LOG --log-prefix "iptabler:udp storm: "
-A BAD_PACKETS -p udp -m udp --dport 113 -j REJECT --reject-with icmp-port-unreachable
-A ICMP_PACKETS -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ICMP_PACKETS -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A ICMP_PACKETS -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A SAFETY_TRACE -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A SAFETY_TRACE -i lo -j ACCEPT
-A SAFETY_TRACE -s 192.168.1.0/24 -i enp3s6 -j ACCEPT
-A TCP_PACKETS -p tcp -m tcp --dport {ssh-порт} -j ACCEPT
-A TCP_PACKETS -p tcp -m tcp --dport {самзабылчего-порт} -j ACCEPT
-A UDP_PACKETS -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
-A UDP_PACKETS -p udp -m udp --dport 123 -j ACCEPT
-A UDP_PACKETS -p udp -m udp --dport {vpn-порт} -j ACCEPT
COMMIT
# Completed on Tue Jun 13 15:57:34 2017
При подключении vpn на шлюзе все ок. Все что за шлюзом умирает.
Как бы очевидное правило: -A POSTROUTING -s 192.168.1.0/24 -o tun0 -j SNAT --to-source 10.8.0.2 в nat делает работоспособным только ICMP - пинги с машин за шлюзом ходить начинают, но только и всего (((
udp не ходит, tcp не ходит. Что я делаю не так и как правильно?
По хорошему работоспособным должно оставаться не зависимо от того подключен vpn или нет и без маскарада.