Guest User

Untitled

a guest
Sep 29th, 2018
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #!/usr/sbin/nft -f
  2.  
  3. flush ruleset;
  4.  
  5. define wan_ifname = enp11s0
  6.  
  7. define lan_ifname = br0
  8.  
  9. define lo_ifname = lo
  10.  
  11. define server0_ipv4_addr = 10.1.1.101
  12.  
  13. define server0_open_tcp_ports = {
  14. 80, # HTTP
  15. 443, # HTTPS
  16. 25, # SMTP
  17. 587, # SMTP Submission
  18. 143, # IMAP
  19. 993, # IMAP Over TLS
  20. 7777 # Terraria
  21. };
  22.  
  23. define server0_open_udp_ports = {
  24. 7777 # Terraria
  25. };
  26.  
  27. table ip nat {
  28.  
  29. chain prerouting {
  30. type nat hook prerouting priority 0; policy accept;
  31. iif $wan_ifname tcp dport $server0_open_tcp_ports dnat to $server0_ipv4_addr
  32. iif $wan_ifname udp dport $server0_open_udp_ports dnat to $server0_ipv4_addr
  33.  
  34. }
  35.  
  36. chain postrouting {
  37. type nat hook postrouting priority 100; policy accept;
  38. oif $wan_ifname masquerade
  39. }
  40. }
  41.  
  42. table inet filter {
  43.  
  44. chain common_input_filter {
  45. tcp flags & (fin | syn | rst | psh | ack | urg | cwr) == fin | syn | rst | psh | ack | urg | cwr drop
  46. tcp flags & (fin | syn | rst | psh | ack | urg | cwr) == 0x0 drop
  47. ct state { established, related } accept
  48. ip protocol icmp accept
  49. icmpv6 type { nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert } accept
  50. tcp dport 22 accept
  51. }
  52.  
  53. chain input {
  54. type filter hook input priority 0; policy drop;
  55. iif $lo_ifname accept
  56. iif $lan_ifname accept
  57. jump common_input_filter
  58. }
  59.  
  60. chain forward {
  61. type filter hook forward priority 0; policy drop;
  62. iif $lo_ifname accept
  63. iif $lan_ifname accept
  64. iif $wan_ifname jump common_input_filter
  65. iif $wan_ifname ip daddr $server0_ipv4_addr tcp dport $server0_open_tcp_ports accept
  66. iif $wan_ifname ip daddr $server0_ipv4_addr udp dport $server0_open_udp_ports accept
  67. }
  68.  
  69. chain output {
  70. type filter hook output priority 0; policy accept;
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment