mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-01-19 08:19:15 +08:00
fix: 防火墙端口添加支持输入网段 (#738)
This commit is contained in:
parent
565fd1c605
commit
44a1d9d16c
@ -369,7 +369,7 @@ func (u *FirewallService) pingStatus() string {
|
|||||||
return constant.StatusNone
|
return constant.StatusNone
|
||||||
}
|
}
|
||||||
commond := "cat /etc/sysctl.conf | grep net/ipv4/icmp_echo_ignore_all= "
|
commond := "cat /etc/sysctl.conf | grep net/ipv4/icmp_echo_ignore_all= "
|
||||||
if cmd.HasSudo() {
|
if cmd.HasNoPasswordSudo() {
|
||||||
commond = "sudo cat /etc/sysctl.conf | grep net/ipv4/icmp_echo_ignore_all= "
|
commond = "sudo cat /etc/sysctl.conf | grep net/ipv4/icmp_echo_ignore_all= "
|
||||||
}
|
}
|
||||||
stdout, _ := cmd.Exec(commond)
|
stdout, _ := cmd.Exec(commond)
|
||||||
@ -409,7 +409,7 @@ func (u *FirewallService) updatePingStatus(enabel string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
commond := "sysctl -p"
|
commond := "sysctl -p"
|
||||||
if cmd.HasSudo() {
|
if cmd.HasNoPasswordSudo() {
|
||||||
commond = "sudo sysctl -p"
|
commond = "sudo sysctl -p"
|
||||||
}
|
}
|
||||||
stdout, err := cmd.Exec(commond)
|
stdout, err := cmd.Exec(commond)
|
||||||
|
@ -100,11 +100,3 @@ func HasNoPasswordSudo() bool {
|
|||||||
err2 := cmd2.Run()
|
err2 := cmd2.Run()
|
||||||
return err2 == nil
|
return err2 == nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func HasSudo() bool {
|
|
||||||
cmd := exec.Command("sudo", "-nv")
|
|
||||||
if err := cmd.Run(); err != nil {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
@ -13,7 +13,7 @@ type Ufw struct {
|
|||||||
|
|
||||||
func NewUfw() (*Ufw, error) {
|
func NewUfw() (*Ufw, error) {
|
||||||
var ufw Ufw
|
var ufw Ufw
|
||||||
if cmd.HasSudo() {
|
if cmd.HasNoPasswordSudo() {
|
||||||
ufw.CmdStr = "sudo ufw"
|
ufw.CmdStr = "sudo ufw"
|
||||||
} else {
|
} else {
|
||||||
ufw.CmdStr = "ufw"
|
ufw.CmdStr = "ufw"
|
||||||
|
@ -70,7 +70,7 @@ import DrawerHeader from '@/components/drawer-header/index.vue';
|
|||||||
import { MsgError, MsgSuccess } from '@/utils/message';
|
import { MsgError, MsgSuccess } from '@/utils/message';
|
||||||
import { Host } from '@/api/interface/host';
|
import { Host } from '@/api/interface/host';
|
||||||
import { operatePortRule, updatePortRule } from '@/api/modules/host';
|
import { operatePortRule, updatePortRule } from '@/api/modules/host';
|
||||||
import { checkPort, deepCopy } from '@/utils/util';
|
import { checkIp, checkPort, deepCopy } from '@/utils/util';
|
||||||
|
|
||||||
const loading = ref();
|
const loading = ref();
|
||||||
const oldRule = ref<Host.RulePort>();
|
const oldRule = ref<Host.RulePort>();
|
||||||
@ -107,7 +107,7 @@ const handleClose = () => {
|
|||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
protocol: [Rules.requiredSelect],
|
protocol: [Rules.requiredSelect],
|
||||||
port: [Rules.requiredInput],
|
port: [Rules.requiredInput],
|
||||||
address: [Rules.ip],
|
address: [Rules.requiredInput],
|
||||||
});
|
});
|
||||||
|
|
||||||
type FormInstance = InstanceType<typeof ElForm>;
|
type FormInstance = InstanceType<typeof ElForm>;
|
||||||
@ -121,6 +121,18 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!dialogData.value.rowData) return;
|
if (!dialogData.value.rowData) return;
|
||||||
if (dialogData.value.rowData.source === 'anyWhere') {
|
if (dialogData.value.rowData.source === 'anyWhere') {
|
||||||
dialogData.value.rowData.address = '';
|
dialogData.value.rowData.address = '';
|
||||||
|
} else {
|
||||||
|
if (dialogData.value.rowData.address.indexOf('/') !== -1) {
|
||||||
|
if (checkIp(dialogData.value.rowData.address.split('/')[0])) {
|
||||||
|
MsgError(i18n.global.t('firewall.addressFormatError'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (checkIp(dialogData.value.rowData.address)) {
|
||||||
|
MsgError(i18n.global.t('firewall.addressFormatError'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let ports = [];
|
let ports = [];
|
||||||
if (dialogData.value.rowData.port.indexOf('-') !== -1 && !dialogData.value.rowData.port.startsWith('-')) {
|
if (dialogData.value.rowData.port.indexOf('-') !== -1 && !dialogData.value.rowData.port.startsWith('-')) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user