mirror of
https://github.com/SunBK201/UA3F.git
synced 2025-12-16 16:57:08 +00:00
refactor: update iptables and nftables methods to use receiver functions
This commit is contained in:
parent
ba1ec470ee
commit
90097acb85
@ -36,19 +36,19 @@ func (s *Server) iptSetup() error {
|
||||
return err
|
||||
}
|
||||
if s.cfg.SetTTL {
|
||||
err = IptSetTTL(ipt)
|
||||
err = s.IptSetTTL(ipt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if s.cfg.DelTCPTimestamp && !s.cfg.SetIPID {
|
||||
err = IptDelTCPTS(ipt)
|
||||
err = s.IptDelTCPTS(ipt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if s.cfg.SetIPID {
|
||||
err = IptSetIP(ipt)
|
||||
err = s.IptSetIP(ipt)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -67,7 +67,7 @@ func (s *Server) iptCleanup() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func IptSetTTL(ipt *iptables.IPTables) error {
|
||||
func (s *Server) IptSetTTL(ipt *iptables.IPTables) error {
|
||||
err := ipt.Append(table, chain, RuleTTL...)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -75,7 +75,7 @@ func IptSetTTL(ipt *iptables.IPTables) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func IptDelTCPTS(ipt *iptables.IPTables) error {
|
||||
func (s *Server) IptDelTCPTS(ipt *iptables.IPTables) error {
|
||||
err := ipt.Append(table, chain, RuleDelTCPTS...)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -83,7 +83,7 @@ func IptDelTCPTS(ipt *iptables.IPTables) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func IptSetIP(ipt *iptables.IPTables) error {
|
||||
func (s *Server) IptSetIP(ipt *iptables.IPTables) error {
|
||||
err := ipt.Append(table, chain, RuleIP...)
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@ -4,6 +4,7 @@ package netlink
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"sigs.k8s.io/knftables"
|
||||
)
|
||||
@ -18,13 +19,13 @@ func (s *Server) nftSetup() error {
|
||||
tx.Add(s.nftable)
|
||||
|
||||
if s.cfg.SetTTL {
|
||||
NftSetTTL(tx, s.nftable)
|
||||
s.NftSetTTL(tx, s.nftable)
|
||||
}
|
||||
if s.cfg.DelTCPTimestamp && !s.cfg.SetIPID {
|
||||
NftDelTCPTS(tx, s.nftable)
|
||||
s.NftDelTCPTS(tx, s.nftable)
|
||||
}
|
||||
if s.cfg.SetIPID {
|
||||
NftSetIP(tx, s.nftable)
|
||||
s.NftSetIP(tx, s.nftable)
|
||||
}
|
||||
|
||||
if err := nft.Run(context.TODO(), tx); err != nil {
|
||||
@ -48,7 +49,7 @@ func (s *Server) nftCleanup() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func NftSetTTL(tx *knftables.Transaction, table *knftables.Table) {
|
||||
func (s *Server) NftSetTTL(tx *knftables.Transaction, table *knftables.Table) {
|
||||
chain := &knftables.Chain{
|
||||
Name: "TTL64",
|
||||
Type: knftables.PtrTo(knftables.FilterType),
|
||||
@ -66,7 +67,7 @@ func NftSetTTL(tx *knftables.Transaction, table *knftables.Table) {
|
||||
tx.Add(rule)
|
||||
}
|
||||
|
||||
func NftDelTCPTS(tx *knftables.Transaction, table *knftables.Table) {
|
||||
func (s *Server) NftDelTCPTS(tx *knftables.Transaction, table *knftables.Table) {
|
||||
chain := &knftables.Chain{
|
||||
Name: "HELPER_QUEUE",
|
||||
Type: knftables.PtrTo(knftables.FilterType),
|
||||
@ -77,14 +78,15 @@ func NftDelTCPTS(tx *knftables.Transaction, table *knftables.Table) {
|
||||
rule := &knftables.Rule{
|
||||
Chain: chain.Name,
|
||||
Rule: knftables.Concat(
|
||||
"tcp flags syn counter queue num 10301 bypass",
|
||||
"tcp flags syn",
|
||||
fmt.Sprintf("counter queue num %d bypass", s.nfqServer.QueueNum),
|
||||
),
|
||||
}
|
||||
tx.Add(chain)
|
||||
tx.Add(rule)
|
||||
}
|
||||
|
||||
func NftSetIP(tx *knftables.Transaction, table *knftables.Table) {
|
||||
func (s *Server) NftSetIP(tx *knftables.Transaction, table *knftables.Table) {
|
||||
chain := &knftables.Chain{
|
||||
Name: "HELPER_QUEUE",
|
||||
Type: knftables.PtrTo(knftables.FilterType),
|
||||
@ -95,7 +97,7 @@ func NftSetIP(tx *knftables.Transaction, table *knftables.Table) {
|
||||
rule := &knftables.Rule{
|
||||
Chain: chain.Name,
|
||||
Rule: knftables.Concat(
|
||||
"counter queue num 10301 bypass",
|
||||
fmt.Sprintf("counter queue num %d bypass", s.nfqServer.QueueNum),
|
||||
),
|
||||
}
|
||||
tx.Add(chain)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user