IT HAS TCP/UDP OPTIONS
This commit is contained in:
@@ -40,36 +40,21 @@ async function applyRules() {
|
|||||||
await opnsenseRequest('POST', '/api/firewall/d_nat/apply');
|
await opnsenseRequest('POST', '/api/firewall/d_nat/apply');
|
||||||
}
|
}
|
||||||
|
|
||||||
export function enqueueNatAdd(ip, port, proto = 'tcp') {
|
export function enqueueNatAdd(ip, port, proto = 'tcp/udp') {
|
||||||
enqueue(async () => {
|
enqueue(async () => {
|
||||||
info(`adding rule udp+tcp at ${ip}:${port}`);
|
info(`adding rule udp+tcp at ${ip}:${port}`);
|
||||||
|
|
||||||
await opnsenseRequest('POST', '/api/firewall/d_nat/addRule', {
|
await opnsenseRequest('POST', '/api/firewall/d_nat/addRule', {
|
||||||
rule: {
|
rule: {
|
||||||
interface: 'wan',
|
interface: 'wan',
|
||||||
protocol: 'tcp',
|
protocol: 'tcp/udp',
|
||||||
destination: {
|
destination: {
|
||||||
network: 'wanip',
|
network: 'wanip',
|
||||||
port: `${port}`,
|
port: `${port}`,
|
||||||
},
|
},
|
||||||
target: ip,
|
target: ip,
|
||||||
'local-port': `${port}`,
|
'local-port': `${port}`,
|
||||||
descr: `pelican-${ip}-${port}-tcp`,
|
descr: `pelican-${ip}-${port}`,
|
||||||
disabled: '0',
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
await opnsenseRequest('POST', '/api/firewall/d_nat/addRule', {
|
|
||||||
rule: {
|
|
||||||
interface: 'wan',
|
|
||||||
protocol: 'udp',
|
|
||||||
destination: {
|
|
||||||
network: 'wanip',
|
|
||||||
port: `${port}`,
|
|
||||||
},
|
|
||||||
target: ip,
|
|
||||||
'local-port': `${port}`,
|
|
||||||
descr: `pelican-${ip}-${port}-udp`,
|
|
||||||
disabled: '0',
|
disabled: '0',
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -79,7 +64,7 @@ export function enqueueNatAdd(ip, port, proto = 'tcp') {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function enqueueNatRemove(ip, port, proto = 'tcp') {
|
export function enqueueNatRemove(ip, port, proto = 'tcp/udp') {
|
||||||
enqueue(async () => {
|
enqueue(async () => {
|
||||||
info(`deleting rule udp+tcp at ${ip}:${port}`);
|
info(`deleting rule udp+tcp at ${ip}:${port}`);
|
||||||
|
|
||||||
@@ -92,10 +77,7 @@ export function enqueueNatRemove(ip, port, proto = 'tcp') {
|
|||||||
const rows = result?.rows || [];
|
const rows = result?.rows || [];
|
||||||
|
|
||||||
for (const rule of rows) {
|
for (const rule of rows) {
|
||||||
if (
|
if (rule.descr === `pelican-${ip}-${port}`) {
|
||||||
rule.descr === `pelican-${ip}-${port}-udp` ||
|
|
||||||
rule.descr === `pelican-${ip}-${port}-tcp`
|
|
||||||
) {
|
|
||||||
await opnsenseRequest('POST', `/api/firewall/d_nat/delRule/${rule.uuid}`);
|
await opnsenseRequest('POST', `/api/firewall/d_nat/delRule/${rule.uuid}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user