From f2635deb1ca3a662b5e557421e1fb3c55be71984 Mon Sep 17 00:00:00 2001 From: Kiritow <1362050620@qq.com> Date: Mon, 21 Mar 2022 20:36:50 +0000 Subject: [PATCH] Support MASQUERADE for each peer --- libwgopparser.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libwgopparser.py b/libwgopparser.py index fff91eb..b1ef83f 100644 --- a/libwgopparser.py +++ b/libwgopparser.py @@ -1038,6 +1038,7 @@ class Parser: self.result_peers.append('[Peer]') + # compile peer for line in this_peer_lines: if not line.startswith('#'): self.result_peers.append(line) @@ -1076,6 +1077,13 @@ class Parser: if table_name != self.lookup_table: current_lookup = table_name errprint('[WARN] Please ensure custom route table {} exists.'.format(table_name)) + elif line.startswith('#iptables-gateway'): + parts = line.split(' ')[1:] + interface_name = parts[0] + + for ip_cidr in current_allowed: + self.result_postup.append('iptables -t nat -A POSTROUTING -s {} -o {} -j MASQUERADE'.format(ip_cidr, interface_name)) + self.result_postdown.append('iptables -t nat -D POSTROUTING -s {} -o {} -j MASQUERADE'.format(ip_cidr, interface_name)) else: errprint('[WARN] comment or unknown hint: {}'.format(line))