mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
wireguard: add IP on road warrior interface wg0
Choose one IP from client pool and add it to road warrior interface wg0 so road warrior VPN client could reach firewall through the VPN Signed-off-by: Vincent Li <vincent.mc.li@gmail.com>
This commit is contained in:
@@ -87,6 +87,21 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{'save'}) {
|
||||
$Wireguard::settings{'CLIENT_DNS'} = join("|", @client_dns);
|
||||
}
|
||||
|
||||
# Check wg0 ADDRESS - make it optional
|
||||
if (defined $cgiparams{'ADDRESS'}) {
|
||||
if ($cgiparams{'ADDRESS'} ne '') {
|
||||
my $address = $cgiparams{'ADDRESS'};
|
||||
unless (&Network::check_ip_address($address)) {
|
||||
push(@errormessages, "$Lang::tr{'wg invalid wg0 address'}: ${address}");
|
||||
}
|
||||
# Store ADDRESS only if it's valid and not empty
|
||||
$Wireguard::settings{'ADDRESS'} = $address;
|
||||
} else {
|
||||
# Explicitly set to empty string when field is empty
|
||||
$Wireguard::settings{'ADDRESS'} = '';
|
||||
}
|
||||
}
|
||||
|
||||
# Don't continue on error
|
||||
goto MAIN if (scalar @errormessages);
|
||||
|
||||
@@ -805,14 +820,21 @@ MAIN:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>$Lang::tr{'wg endpoint'}</td>
|
||||
<td>$Lang::tr{'wg endpoint'} <img src='/blob.gif' alt='*' /></td>
|
||||
<td>
|
||||
<input type="text" name="ENDPOINT" value="$Wireguard::settings{'ENDPOINT'}" placeholder="$General::mainsettings{'HOSTNAME'}.$General::mainsettings{'DOMAINNAME'}" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>$Lang::tr{'wg address'}</td>
|
||||
<td>
|
||||
<input type="text" name="ADDRESS" value="$Wireguard::settings{'ADDRESS'}" />
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>$Lang::tr{'port'}</td>
|
||||
<td>$Lang::tr{'port'} <img src='/blob.gif' alt='*' /></td>
|
||||
<td>
|
||||
<input type="number" name="PORT" value="$Wireguard::settings{'PORT'}"
|
||||
min="1024" max="65535" />
|
||||
@@ -824,7 +846,7 @@ MAIN:
|
||||
|
||||
<table class="form">
|
||||
<tr>
|
||||
<td>$Lang::tr{'wg client pool'}</td>
|
||||
<td>$Lang::tr{'wg client pool'} <img src='/blob.gif' alt='*' /></td>
|
||||
<td>
|
||||
<input type="text" name="CLIENT_POOL"
|
||||
value="$Wireguard::settings{'CLIENT_POOL'}" $readonly{'CLIENT_POOL'} />
|
||||
@@ -832,7 +854,7 @@ MAIN:
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>$Lang::tr{'wg dns'}</td>
|
||||
<td>$Lang::tr{'wg dns'} <img src='/blob.gif' alt='*' /></td>
|
||||
<td>
|
||||
<input type="text" name="CLIENT_DNS"
|
||||
value="$client_dns" />
|
||||
|
||||
Reference in New Issue
Block a user