250-next-node 1.7 KB

123456789101112131415161718192021222324252627282930
  1. local client_bridge = require 'gluon.client_bridge'
  2. local site = require 'gluon.site'
  3. local next_node = site.next_node({})
  4. local macaddr = client_bridge.next_node_macaddr()
  5. rule('FORWARD --logical-out br-client -i bat0 -o local-port -j DROP')
  6. rule('FORWARD --logical-out br-client -i local-port -o bat0 -j DROP')
  7. rule('FORWARD --logical-out br-client -o bat0 -d ' .. macaddr .. ' -j DROP')
  8. rule('OUTPUT --logical-out br-client -o bat0 -d ' .. macaddr .. ' -j DROP')
  9. rule('FORWARD --logical-out br-client -o bat0 -s ' .. macaddr .. ' -j DROP')
  10. rule('OUTPUT --logical-out br-client -o bat0 -s ' .. macaddr .. ' -j DROP')
  11. if next_node.ip4 then
  12. rule('FORWARD --logical-out br-client -o bat0 -p ARP --arp-ip-src ' .. next_node.ip4 .. ' -j DROP')
  13. rule('FORWARD --logical-out br-client -o bat0 -p ARP --arp-ip-dst ' .. next_node.ip4 .. ' -j DROP')
  14. rule('FORWARD --logical-out br-client -o bat0 -p IPv4 --ip-destination ' .. next_node.ip4 .. ' -j DROP')
  15. rule('OUTPUT --logical-out br-client -o bat0 -p IPv4 --ip-destination ' .. next_node.ip4 .. ' -j DROP')
  16. rule('FORWARD --logical-out br-client -o bat0 -p IPv4 --ip-source ' .. next_node.ip4 .. ' -j DROP')
  17. rule('OUTPUT --logical-out br-client -o bat0 -p IPv4 --ip-source ' .. next_node.ip4 .. ' -j DROP')
  18. end
  19. if next_node.ip6 then
  20. rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
  21. rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-destination ' .. next_node.ip6 .. ' -j DROP')
  22. rule('FORWARD --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
  23. rule('OUTPUT --logical-out br-client -o bat0 -p IPv6 --ip6-source ' .. next_node.ip6 .. ' -j DROP')
  24. end