66)
77
88func AddForward (protocol , srcPort , dest , destPort , iface string , save bool ) error {
9- // iptabels destPort 范围端口规则为:%d-%d
10- destPort = strings .ReplaceAll (destPort , ": " , "- " )
9+ srcPort = strings . ReplaceAll ( srcPort , "-" , ":" )
10+ itemDstPort : = strings .ReplaceAll (destPort , "- " , ": " )
1111 if dest != "" && dest != "127.0.0.1" && dest != "localhost" {
1212 iptablesArg := fmt .Sprintf ("-A %s" , Chain1PanelPreRouting )
1313 if iface != "" {
@@ -18,15 +18,15 @@ func AddForward(protocol, srcPort, dest, destPort, iface string, save bool) erro
1818 return err
1919 }
2020
21- if err := Run (NatTab , fmt .Sprintf ("-A %s -d %s -p %s --dport %s -j MASQUERADE" , Chain1PanelPostRouting , dest , protocol , destPort )); err != nil {
21+ if err := Run (NatTab , fmt .Sprintf ("-A %s -d %s -p %s --dport %s -j MASQUERADE" , Chain1PanelPostRouting , dest , protocol , itemDstPort )); err != nil {
2222 return err
2323 }
2424
25- if err := Run (FilterTab , fmt .Sprintf ("-A %s -d %s -p %s --dport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , destPort )); err != nil {
25+ if err := Run (FilterTab , fmt .Sprintf ("-A %s -d %s -p %s --dport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , itemDstPort )); err != nil {
2626 return err
2727 }
2828
29- if err := Run (FilterTab , fmt .Sprintf ("-A %s -s %s -p %s --sport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , destPort )); err != nil {
29+ if err := Run (FilterTab , fmt .Sprintf ("-A %s -s %s -p %s --sport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , itemDstPort )); err != nil {
3030 return err
3131 }
3232 } else {
@@ -43,20 +43,21 @@ func AddForward(protocol, srcPort, dest, destPort, iface string, save bool) erro
4343}
4444
4545func DeleteForward (num string , protocol , srcPort , dest , destPort , iface string ) error {
46+ itemDstPort := strings .ReplaceAll (destPort , "-" , ":" )
4647 if err := Run (NatTab , fmt .Sprintf ("-D %s %s" , Chain1PanelPreRouting , num )); err != nil {
4748 return err
4849 }
4950
5051 if dest != "" && dest != "127.0.0.1" && dest != "localhost" {
51- if err := Run (NatTab , fmt .Sprintf ("-D %s -d %s -p %s --dport %s -j MASQUERADE" , Chain1PanelPostRouting , dest , protocol , destPort )); err != nil {
52+ if err := Run (NatTab , fmt .Sprintf ("-D %s -d %s -p %s --dport %s -j MASQUERADE" , Chain1PanelPostRouting , dest , protocol , itemDstPort )); err != nil {
5253 return err
5354 }
5455
55- if err := Run (FilterTab , fmt .Sprintf ("-D %s -d %s -p %s --dport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , destPort )); err != nil {
56+ if err := Run (FilterTab , fmt .Sprintf ("-D %s -d %s -p %s --dport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , itemDstPort )); err != nil {
5657 return err
5758 }
5859
59- if err := Run (FilterTab , fmt .Sprintf ("-D %s -s %s -p %s --sport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , destPort )); err != nil {
60+ if err := Run (FilterTab , fmt .Sprintf ("-D %s -s %s -p %s --sport %s -j ACCEPT" , Chain1PanelForward , dest , protocol , itemDstPort )); err != nil {
6061 return err
6162 }
6263 }
0 commit comments