Назад | Перейти на главную страницу

пытаюсь найти статический порт для службы NIS или NFS в firewalld

На нашем подчиненном сервере NIS у нас есть /etc/sysconfig/network Я установил

YPSERV_ARGS="-p 944"
YPXFRD_ARGS="-p 945"

и OTHER_YPBIND_OPTS="-p 3000" в /etc/ypbind.conf и YPPASSWDD_ARGS="--port 946" в /etc/sysconfig/yppasswdd

Но на главном сервере при запуске make -C /var/yp и отладка включена на firewalld, порт назначения (DPT) всегда меняется. Это всегда UDP.

kernel: FINAL_REJECT: IN=eno3 OUT= MAC=00:0a:f7:e1:f8:6c:00:0a:f7:e1:d3:71:08:00 SRC=nis-slave DST=nis-master LEN=76 TOS=0x00 PREC=0x00 TTL=64 ID=59404 DF PROTO=UDP SPT=1003 DPT=676 LEN=56 

Также в новом /etc/nfs.conf у нас есть:

[lockd]
port=4002
udp-port=4002
[mountd]
port=4003
[nfsd]
port=2049
port=4001
outgoing-port=4004

И журналы на подчиненном сервере показывают: ypxfr_callback call: RPC: Unable to receive; errno = No route to host

Остановка firewalld и все хорошо. Так какой сервис использует UDP?

Древние YP / NIS совсем не дружелюбны к брандмауэрам. Он буквально предшествует широкому использованию межсетевых экранов хоста. Как вы заметили, он ожидает, что сможет связываться с произвольными портами. Большинство протоколов за последние 20 лет больше этого не делают и работают на предсказуемых (или, по крайней мере, настраиваемых) портах.

В качестве обходного пути, если у вас есть только один IP-адрес, вы можете просто добавить его в trusted зона в firewalld, и весь трафик с этого IP-адреса будет разрешен. (Источники также могут быть заданы диапазоном CIDR или MAC-адресом.)

 firewall-cmd --zone=trusted --add-source=10.193.35.1 [--permanent]

согласны с тем, что НИС древний, не используйте его, если в этом нет необходимости.

Для NFS вот пример, который я беру из SLES 11.4 /etc/sysconfig/nfs Имейте в виду, что все может немного отличаться, учитывая версию NFS и дистрибутив Linux, который вы используете. Но номера портов, которые вам нужно открыть в брандмауэре, как минимум MOUNTD_PORT и SM_NOTIFY_OPTIONS и STATD_PORT и LOCKD_TCPPORT и LOCKD_UDPPORT в дополнение к портам для службы NFS, которые обычно 111 и 2049 для TCP и UDP.

для custom_number_1 к custom_number_4 используйте что-то выше 1024, все ниже 1024 - зарезервировано для привилегированных услуг. Очевидно, вы не хотите выбирать число, которое конфликтует с какой-либо другой службой, диапазон 1024..9999, который вы можете использовать, но в качестве личного предпочтения я установил значение выше 10 000. Диапазон> = 49152 считается динамический диапазон я не думаю, что вам следует выбирать; что произойдет, если вы не настроите NFS (скажите, что использовать), тогда он будет выбирать их динамически, и это будет какой-то номер порта> = 49152 и каждый раз будет другим, потому что он динамичный... и почему у вас могут возникнуть проблемы, потому что брандмауэр будет блокировать все эти порты, и вы никогда не узнаете, что они будут из-за того, что NFS выбирает их динамически.

тот динамический выбор номеров портов, который вы описываете для NIS, одна и та же сделка; служба не была полностью настроена, поэтому вещи, которые были оставлены пустыми или заданы по умолчанию или выбирались динамически = каждый раз по-разному = нет возможности правильно настроить или использовать брандмауэр.

## Path:        Network/File systems/NFS server
## Description: number of threads for kernel nfs server
## Type:        integer
## Default:     4
## ServiceRestart:  nfsserver
#
# the kernel nfs-server supports multiple server threads
#
USE_KERNEL_NFSD_NUMBER="4"

## Path:        Network/File systems/NFS server
## Description:     use fixed port number for mountd
## Type:        integer
## Default:     ""
## ServiceRestart:  nfsserver
#
#  Only set this if you want to start mountd on a fixed
#  port instead of the port assigned by rpc. Only for use
#  to export nfs-filesystems through firewalls.
#
MOUNTD_PORT="custom_number_1"

## Path:                Network/File systems/NFS server
## Description:         GSS security for NFS
## Type:                yesno
## Default:             yes
## ServiceRestart:      nfs nfsserver
#
# Enable RPCSEC_GSS security for NFS (yes/no)
#
NFS_SECURITY_GSS="no"

## Path:                Network/File systems/NFS server
## Description:         NFSv4 protocol support
## Type:                yesno
## Default:             yes
## ServiceRestart:      nfs nfsserver
#
# Enable NFSv4 support (yes/no)
#
NFS4_SUPPORT="no"

## Path:                Network/File systems/NFS server
## Description:         NFSv4 server minor version
## Type:                integer
## Default:             0
## ServiceRestart:      nfsserver
#
# Select NFSv4 minor version for server to support (0, 1).
# If '1' is selected, both NFSv4.0 and NFSv4.1 will be supported.
NFS4_SERVER_MINOR_VERSION="0"

## Path:                Network/File systems/NFS server
## Description:         Network Status Monitor options
## Type:                string
## Default:             ""
#
# If a fixed port should be used to send reboot notification
# messages to other systems, that port should be given
# here as "-p portnumber".
#
SM_NOTIFY_OPTIONS="-p custom_number_2"

## Path:                Network/File systems/NFS server
## Description:         Always start NFS services
## Type:                yesno
## Default:             no
## ServiceRestart       nfs
#
# Always start NFS services (gssd, idmapd), not only if
# there are nfs mounts in /etc/fstab.  This is likely to be
# needed if you use an automounter for NFS.
#
NFS_START_SERVICES=""

## Path:                Network/File systems/NFS server
## Description:         Port rpc.statd should listen on
## Type:                integer
## Default:             ""
## ServiceRestart:      nfsserver
#
# Statd will normally choose a random port to listen on and
# SuSE-Firewall is able to detect which port and allow for it.
# If you have another firewall, you may want to set a fixed
# port number which can then be opened in that firewall.
STATD_PORT="custom_number_3"

## Path:                Network/File systems/NFS server
## Description:         Hostname used by rpc.statd
## Type:                string
## Default:             ""
## ServiceRestart:      nfsserver
#
# statd will normally use the system hostname in status
# monitoring conversations with other hosts.  If a different
# host name should be used, as can be useful with fail-over
# configurations, that name should be given here.
#
STATD_HOSTNAME=""

## Path:                Network/File systems/NFS server
## Description:     TCP Port that lockd should listen on
## Type:                integer
## Default:             ""
## ServiceRestart:      nfsserver
#
# Lockd will normally choose a random port to listen on and
# SuSE-Firewall is able to detect which port and allow for it.
# If you have another firewall, you may want to set a fixed
# port number which can then be opened in that firewall.
# lockd opens a UDP and a TCP port.  This setting only affect
# the TCP port.
LOCKD_TCPPORT="custom_number_4"

## Path:                Network/File systems/NFS server
## Description:     UDP Port that lockd should listen on
## Type:                integer
## Default:             ""
## ServiceRestart:      nfsserver
#
# Lockd will normally choose a random port to listen on and
# SuSE-Firewall is able to detect which port and allow for it.
# If you have another firewall, you may want to set a fixed
# port number which can then be opened in that firewall.
# lockd opens a UDP and a TCP port.  This setting only affect
# the UDP port.
LOCKD_UDPPORT="custom_number_4"

## Path:                Network/File systems/NFS server
## Description:         Lease time for NFSv4 leases
## Type:                integer
## Default:             ""
#
# Set the lease time for the NFSv4 server.  This allows new locks
# to be taken sooner after a server restart, so it is useful for
# servers which need to recover quickly after a failure, particularly
# in fail-over configurations.  Reducing the lease time can be a
# problem is some clients connect over high latency networks.
# The default is 90 seconds.  A number like 15 might be appropriate
# in a fail-over configuration with all clients on well connected
# low latency links.
NFSV4LEASETIME=""

## Path:                Network/File systems/NFS server
## Description:         Alternate mount point for rpc_pipefs filesystem
## Type:                string
## Default:             ""
#
# In a high-availabilty configuration it is possible that /var/lib/nfs
# is redirected so some shared storage and so it is not convenient to
# mount the rpc_pipefs filesystem at /var/lib/nfs/rpc_pipefs.  In that
# case an alternate mount point can be given here.
RPC_PIPEFS_DIR=""

## Path:                Network/File systems/NFS server
## Description:         Options for svcgssd
## Type:                string
## Default:             ""
#
# Normally svcgssd does not require any option.  However in a
# high-availabilty configuration it can be useful to pass "-n"
# to guide the choice of default credential.  To allow for that
# case or any other requiring options ot svcgssd, they can
# be specified here.
SVCGSSD_OPTIONS=""

## Path:                Network/File systems/NFS server
## Description:         Extra options for nfsd
## Type:                string
## Default:             ""
#
# This setting allows extra options to be specified for NFSD, such as
# -H <shared_hostname> in a high-availability configuration.
NFSD_OPTIONS=""

## Path:                Network/File systems/NFS server
## Description:         Extra options for gssd
## Type:                string
## Default:             ""
#
# Normally gssd does not require any options.  In some circumstances,
# -n, -l or other options might be useful. See "man 8 rpc.gssd" for
# details.  Those options can be set here.
GSSD_OPTIONS=""

## Path:                Network/File systems/NFS server
## Description:         Extra options for mountd
## Type:                string
## Default:             ""
#
# Normally mountd does not require any options.  In some circumstances,
# -n, -t, -g or other options might be useful. See "man 8 rpc.mountd" for
# details.  Those options can be set here.
# -p or -N should be set using MOUNTD_PORT or NFS4_SUPPORT rather than
# this option.
MOUNTD_OPTIONS=""

## Path:                Network/File systems/NFS server
## Description:         Avoid DNS lookups for kerberos principal
## Type:                yesno
## Default:             no
## ServiceRestart:      gssd
#
# Avoid DNS lookups when determining kerberos identity
# of NFS server (yes/no)
# "yes" is safest, but "no" might be needed to preserve
# correct behaviour at sites that don't use
# Fully Qualified Domain Names when mounting NFS Shares.
#
NFS_GSSD_AVOID_DNS="no"