web-dev-qa-db-ja.com

FirewalldでNISまたはNFSサービスの静的ポートを見つけようとしています

スレーブ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を使用していますか?

1
RobbieTheK

古代のYP/NISのものは、ファイアウォールにまったく対応していません。これは、文字通り、ホストファイアウォールが広く使用される前のものです。お気づきのように、任意のポートで通信できることを期待しています。過去20年ほどのほとんどのプロトコルはこれを行わなくなり、予測可能な(または少なくとも構成可能な)ポートで実行されます。

回避策として、IPアドレスが1つしかない場合は、firewalldのtrustedゾーンに追加するだけで、そのIPアドレスからのすべてのトラフィックが許可されます。 (ソースは、CIDR範囲またはMACアドレスで指定することもできます。)

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

nISが古くからあることに同意します。必要がない場合は、NISを使用しないでください。

[〜#〜] nfs [〜#〜]の場合、これはSLES11.4から取った例です/etc/sysconfig/nfs使用しているNFSバージョンとLinuxディストリビューションによって、状況が若干異なる場合があることに注意してください。ただし、ファイアウォールで開く必要のあるポート番号は少なくともMOUNTD_PORTおよびSM_NOTIFY_OPTIONSおよびSTATD_PORTおよびLOCKD_TCPPORTおよびLOCKD_UDPPORT TCPとUDPの両方で通常111と2049であるNFSサービスのポートに加えて。

にとって custom_number_1からcustom_number_4 1024より上のものを使用し、1024より下のものは特権サービス用に予約済みです。明らかに他のサービスと競合する番号を選択したくない場合は、1024..9999の範囲を使用できますが、個人的な好みとして、10,000を超えて設定しています。範囲> = 49152は、ダイナミックレンジであると考えられます。これは選択すべきではないと思います。 NFSを構成しない(何を使用するかを指示する)とどうなりますか?NFSは動的に選択し、ポート番号> = 49152になり、dynamic ..であるため毎回異なります。また、ファイアウォールがこれらすべてのポートをブロックし、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"
1
ron