スレーブ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アドレスが1つしかない場合は、firewalldのtrusted
ゾーンに追加するだけで、そのIPアドレスからのすべてのトラフィックが許可されます。 (ソースは、CIDR範囲またはMACアドレスで指定することもできます。)
firewall-cmd --zone=trusted --add-source=10.193.35.1 [--permanent]
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"