Я пытаюсь разрешить весь трафик с моего Banana PI, на котором работает Lubuntu, только в мою локальную сеть или иным образом через VPN-сервер. Я следую этому руководству: http://joelslowik.blogspot.co.uk/2013/05/setup-iptables-for-vpn-and-local.html
По сути, он говорит, что я должен использовать эти правила:
#Allow loopback device (internal communication)
iptables -A INPUT -i lo -j
iptables -A OUTPUT -o lo -j ACCEPT
#Allow all local traffic.
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
#Allow VPN establishment
iptables -A OUTPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -p udp --sport 1194 -j ACCEPT
#Accept all TUN connections (tun = VPN tunnel)
iptables -A OUTPUT -o tun+ -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
#Set default policies to drop all communication unless specifically allowed
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Но, насколько я понимаю, это разрешит трафик через ЛЮБОЙ VPN (или что-нибудь с сетевым интерфейсом, начинающимся с "tun" в этом отношении).
Я пытался использовать
iptables -A INPUT -s XXX.XXX.XXX.XXX -j ACCEPT
iptables -A OUTPUT -d XXX.XXX.XXX.XXX -j ACCEPT
с IP-адресом VPN-сервера, но, похоже, он тоже не работает, он просто не будет подключаться к VPN.
Так как мне это сделать? Я сделал то же самое в Windows, используя брандмауэр Windows (следуя этому руководству), просто заблокировав любой IP-адрес, кроме локального и VPN-сервера, и он отлично работает.