ตั้งค่าชื่อโฮสต์: FQDN หรือชื่อย่อ


178

ฉันสังเกตเห็นว่าวิธี "ที่ต้องการ" ในการตั้งค่าชื่อโฮสต์ของระบบนั้นแตกต่างกันอย่างมากระหว่าง Red Hat / CentOS และระบบ Debian / Ubuntu

เอกสาร CentOSและคู่มือการปรับใช้ RHELบอกว่าชื่อโฮสต์ควรเป็น FQDN :

HOSTNAME=<value>ซึ่ง<value>ควรเป็นชื่อโดเมนที่ผ่านการรับรองโดยสมบูรณ์ (FQDN) เช่นhostname.example.comแต่สามารถเป็นชื่อโฮสต์ใดก็ได้ที่จำเป็น

คู่มือ RHEL ติดตั้งเล็กน้อยคลุมเครือเพิ่มเติมได้ที่:

ติดตั้งพร้อมท์ให้คุณใส่ชื่อโฮสต์สำหรับคอมพิวเตอร์เครื่องนี้ไม่ว่าจะเป็น ชื่อโดเมนที่มีคุณสมบัติครบถ้วน (FQDN) ในรูปแบบhostname.domainname หรือเป็นชื่อโฮสต์ระยะสั้นในรูปแบบชื่อโฮสต์

การอ้างอิง Debianบอกว่าชื่อโฮสต์ไม่ควรใช้ FQDN :

3.5.5 ชื่อโฮสต์

เคอร์เนลรักษาระบบชื่อโฮสต์ สคริปต์ init ใน runlevel S ซึ่งเชื่อมโยงกับ " /etc/init.d/hostname.sh " ตั้งชื่อโฮสต์ของระบบในเวลาบูต (โดยใช้คำสั่งhostname ) เป็นชื่อที่เก็บไว้ใน " / etc / hostname " ไฟล์นี้ควรมีเพียงชื่อโฮสต์ระบบไม่ได้เป็นชื่อโดเมนที่มีคุณสมบัติครบถ้วน

ฉันไม่เห็นคำแนะนำเฉพาะใด ๆ จาก IBM เกี่ยวกับการใช้งาน แต่ซอฟต์แวร์บางตัวดูเหมือนว่าจะมีการตั้งค่า

คำถามของฉัน:

  • ในสภาพแวดล้อมที่แตกต่างกันควรใช้คำแนะนำของผู้ขายหรือเลือกอย่างใดอย่างหนึ่งและสอดคล้องกับโฮสต์ทั้งหมดหรือไม่
  • คุณพบซอฟต์แวร์ใดที่มีความอ่อนไหวต่อชื่อโฮสต์ที่ตั้งค่าเป็น FQDN หรือชื่อย่อ

คำตอบ:


106

ฉันจะเลือกวิธีการที่สอดคล้องกันในสภาพแวดล้อมทั้งหมด โซลูชันทั้งสองทำงานได้ดีและจะยังคงใช้งานได้กับแอปพลิเคชันส่วนใหญ่ มีความแตกต่างในการจัดการแม้ว่า

ฉันใช้ชื่อย่อว่าการตั้งค่า HOSTNAME และตั้งค่า FQDN เป็นคอลัมน์แรก/etc/hostsสำหรับ IP ของเซิร์ฟเวอร์ตามด้วยชื่อย่อ

ฉันไม่พบแพ็คเกจซอฟต์แวร์จำนวนมากที่บังคับใช้หรือแสดงการกำหนดค่าตามความชอบระหว่างสองแพ็คเกจ ฉันค้นหาชื่อสั้น ๆ ที่จะสะอาดกว่าสำหรับบางแอปพลิเคชันโดยเฉพาะการบันทึก server.northside.chicago.rizzomanufacturing.comบางทีฉันอาจจะได้รับโชคร้ายในการมองเห็นโดเมนภายในเช่น ต้องการที่จะเห็นว่าใครในบันทึกหรือเปลือกให้ ?

บางครั้งฉันมีส่วนร่วมในการเข้าซื้อกิจการของ บริษัท หรือการปรับโครงสร้างที่โดเมนภายในและ / หรือโดเมนย่อยมีการเปลี่ยนแปลง ฉันชอบใช้ชื่อโฮสต์สั้น ๆ ในกรณีเหล่านี้เนื่องจากการบันทึก kickstarts การพิมพ์การตรวจสอบระบบและอื่น ๆ ไม่จำเป็นต้องมีการตั้งค่าใหม่อย่างเต็มรูปแบบเพื่อบัญชีสำหรับชื่อโดเมนใหม่

การตั้งค่าเซิร์ฟเวอร์ RHEL / CentOS ทั่วไปสำหรับเซิร์ฟเวอร์ชื่อ "rizzo" ที่มีโดเมนภายใน "ifp.com" จะมีลักษณะดังนี้:

/etc/sysconfig/network:
HOSTNAME=rizzo
...

-

/etc/hosts:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.100.13   rizzo.ifp.com rizzo

-

[root@rizzo ~]# hostname 
rizzo

-

/var/log/messages snippet:
Dec 15 10:10:13 rizzo proftpd[19675]: 172.16.100.13 (::ffff:206.15.236.182[::ffff:206.15.236.182]) - Preparing to               
 chroot to directory '/app/upload/GREEK'
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - FTP session opened.
Dec 15 10:10:51 rizzo proftpd[20660]: 172.16.100.13 (::ffff:12.28.170.2[::ffff:12.28.170.2]) - Preparing to chroot                
to directory '/app/upload/ftp/SRRID'

7
เช่นเดียวกับคุณฉันชอบชื่อสั้น ๆ แต่ฉันค้นพบเมื่อเร็ว ๆ นี้ว่าแอปพลิเคชัน Oracle บางตัวต้องการผลลัพธ์hostnameเป็น FQDN เพียงแค่มีมัน/etc/hostsไม่ดีพอ ที่สับสนกับความสอดคล้องของฉัน
James O'Gorman

3
ความแตกต่างในการใช้อักษรตัวพิมพ์ใหญ่ของชื่อโฮสต์ในตัวอย่างนี้ไม่ใช่การอ้างอิงที่ดีที่สุด: tools.ietf.org/search/rfc1178
teknopaul

2
ไม่ควร/etc/sysconfig/networkประกอบด้วยบรรทัดที่ชอบ: NETWORKING=yes, NETWORKING_IPV6=no, HOSTNAME=example.com, NISDOMAIN=example?
จัสมินล็อกเนส

@ JasmineLognnes ถูกต้องฉันได้แก้ไขแล้ว ฉันหวังว่า ewwhite ไม่เป็นไร
kubanczyk

1
มันไม่ได้เป็นเพียงเกี่ยวกับการตั้งค่า ดูhostname(1)ที่เครื่อง Linux ใด ๆ

39

ซอฟต์แวร์ทั้งหมดค่อนข้างไวต่อการตั้งค่าชื่อโฮสต์อย่างถูกต้อง ในขณะที่ฉันทำงานที่ Digg ฉันเคยทำให้ทั้งไซต์ลดลงเป็นเวลา 2 ชั่วโมงเนื่องจากการเปลี่ยนแปลงที่ไร้เดียงสาดูเหมือนจะ/etc/hostsส่งผลต่อความคิดของชื่อโฮสต์ของระบบ เหยียบเบา ๆ ที่กล่าวว่าคุณอาจสับสนเล็กน้อยที่นี่ ผมไม่คิดว่าHOSTNAME=การตั้งค่าเทียบเท่าโดยตรงกับวิธีการกระจาย Debian-based /etc/hostnameใช้

อะไรที่เหมาะกับฉันในสภาพแวดล้อมที่ต่างกันคือ:

  1. ตั้งชื่อโฮสต์ในลักษณะที่ผู้ขายแนะนำโดยใช้เงื่อนไขในซอฟต์แวร์การจัดการการกำหนดค่าของคุณ
  2. ใช้hostnameคำสั่งเพื่อตั้งชื่อโฮสต์ที่ใช้โดยเคอร์เนล ฯลฯ
  3. ใน/etc/hosts:

    127.0.0.1    localhost
    10.0.0.1     hostname.example.com     hostname
    

การกำหนดค่านี้ยังไม่ได้ล้มเหลวเลย


นี่เป็นการตั้งค่าที่ฉันใช้ในที่ทำงาน ชื่อย่อควรใช้ได้ตราบใดที่ชื่อโดเมนอยู่ในเส้นทางการค้นหา DNA (/etc/resolv.conf) สำหรับเครื่องที่เกี่ยวข้องในสภาพแวดล้อมของคุณ
gWaldo

คุณแนะนำ IP เครือข่ายท้องถิ่นโดยเฉพาะเมื่อเทียบกับสาธารณะหรือไม่?
code_monk

34

คุณจะไม่มีปัญหาในการหาแหล่งอ้างอิงออนไลน์ซึ่งจะบอกให้คุณทำอย่างใดอย่างหนึ่งอย่างใดอย่างหนึ่ง สำหรับฉันแล้วดูเหมือนว่าการมีชื่อย่อเป็นชื่อโฮสต์และมีชื่อแบบเต็มใน / etc / hosts นั้นเป็นที่แพร่หลายมากขึ้นอย่างแน่นอน ดูเหมือนว่าจะเป็นวิธีที่สมเหตุสมผลกว่าเนื่องจากบริการที่ต้องใช้ชื่อที่มีคุณสมบัติครบถ้วนสามารถปรับเปลี่ยนให้โทรhostname --fqdnแทนได้

ฉันเพิ่งเจอซอฟต์แวร์หนึ่งชิ้นเมื่อเร็ว ๆ นี้ซึ่งต้องใช้ fqdn ที่จะส่งคืนอย่างเข้มงวดhostnameซึ่งก็คือ ganeti เอกสารพวกนี้นี่ ผมไม่เห็นเหตุผลใดที่พวกเขาไม่สามารถปรับตัวเข้ากับhostname --fqdnอย่างไร


"ฉันไม่เห็นเหตุผลที่พวกเขาไม่สามารถปรับตัวเข้ากับhostname --fqdn" ได้รับการตอบในวรรคแรกภายใต้ "ทำไมชื่อโฮสต์แบบเต็ม" - ต้องมีการคาดเดาและต้องใช้ตัวแก้ไขการทำงาน การถามเคอร์เนลเป็นตัวเลือกที่ปลอดภัยและน่าเชื่อถือที่สุด
womble

3
@womble - ตราบใดที่ไฟล์ / etc / hosts มีรายการสำหรับเครื่อง ( 10.0.0.1 hostname.example.com hostname) และ /etc/nsswitch.conf ระบุการแก้ปัญหาเฉพาะที่ก่อน DNS ( hosts: files dns) จากนั้นจะมีตัวแก้ไขการทำงานที่ดำเนินการโดยไฟล์โฮสต์ท้องถิ่น เช่นอาร์กิวเมนต์ที่ใช้ FQDN แทนชื่อโฮสต์ไม่ค่อยมีน้ำ นอกจากนี้อีกตัวอย่างหนึ่งของซอฟต์แวร์ที่ต้องการhostnameส่งคืน FQDN อย่างเข้มงวดคือแพ็คเกจเมลเซิร์ฟเวอร์ Zimbra
crashmaxed

@ crashmaxed: นั่นเป็นข้อกำหนดพิเศษหลายประการซึ่งอาจเป็นไปไม่ได้ในสภาพแวดล้อมที่กำหนดหรือเกิดความผิดพลาด การมี FQDN ในโครงสร้างข้อมูลเคอร์เนลนั้นง่ายกว่ามาก
womble

11

ค่อนข้างสัมผัสในขณะที่ค้นคว้าคำถามนี้ฉันคงบ้าพอที่จะตรวจสอบซอร์สโค้ดของ "ชื่อโฮสต์" และเขียนสคริปต์เพื่อพิมพ์ผลลัพธ์การสอบสวน (Fedora 19) สิ่งที่ขาดหายไปคือดูที่ "/ etc / hosts" ซึ่งในความเห็นอันถ่อมตนของฉันควรจะเก็บรักษาสิ่งเหล่านี้ไว้ตั้งแต่แรก

#!/bin/bash

function pad {
   if [[ $1 == '?' ]]; then
      printf "%-23s" "?"
   else
      printf "%-23s" "'$1'"
   fi
}

# ----- Kernel -----

# Two ways to configure the kernel values: 
# 1) Put FQDN into "kernel.hostname" and nothing into "kernel.domainname"
# 2) Put machine name into "kernel.hostname" and DNS domain name into "kernel.domainname" (makes more sense)

echo "== Kernel values =="
echo

H=`/sbin/sysctl -n kernel.hostname`
D=`/sbin/sysctl -n kernel.domainname`

echo "Kernel hostname: '$H'"
echo "Kernel domainname: '$D'"

# ----- What does bash say -----

echo
echo "== According to bash =="
echo

echo "HOSTNAME = '$HOSTNAME'"

# ----- Hostname config file ------

echo
echo "== Hostname config file =="
echo

ETCH="/etc/hostname"

if [[ -f $ETCH ]]; then
   CONTENTS=`cat $ETCH`
   echo "File '$ETCH' contains: '$CONTENTS'"
else
   echo "File '$ETCH' does not exist"
fi

# ----- Network config file ------

echo
echo "== Network config file =="
echo

SYSN="/etc/sysconfig/network"

if [[ -f $SYSN ]]; then
   LINE=`grep -e "^HOSTNAME=" $SYSN`
   if [[ -n $LINE ]]; then
      echo "File '$SYSN' contains: '$LINE'"
   else 
      echo "File '$SYSN' exists but does not contain a line for 'HOSTNAME'"
   fi
else
   echo "File '$SYSN' does not exist"
fi

# ----- Nodename -------

echo
echo "== Nodename =="
echo

UNAME=`uname --nodename` # On Linux, this is the hostname

echo "The 'nodename' given by 'uname --nodename' is: '$UNAME'"

# ----- The 'hostname' mess ------

THE_HOSTNAME=`hostname`
SHORT_NAME=`hostname --short`
NIS_DNAME=`domainname`     
YP_DNAME=`hostname --yp`    # Same as `nisdomainname` ; this may fail with "hostname: Local domain name not set"

if [[ $? != 0 ]]; then
   YP_DNAME="?"
fi

echo
echo "== 'hostname' directly obtained values =="
echo
echo "The result of gethostname();"
echo "...obtained by running 'hostname'"
echo "Hostname: $(pad $THE_HOSTNAME)"
echo
echo "The part before the first '.' of the value returned by gethostname();"
echo "...obtained by running 'hostname --short'"
echo "Short name: $(pad $SHORT_NAME)"
echo
echo "The result of getdomainname(); the code of 'hostname' seems to call this the 'NIS domain name';"
echo "...on Linux, this is the kernel-configured domainname;"
echo "...obtained by running 'domainname'"
echo "NIS domain name: $(pad $NIS_DNAME)"
echo
echo "The result of yp_get_default_domain(), which may fail;"
echo "...obtained by running 'ĥostname --yp'"
echo "YP default domain: $(pad $YP_DNAME)"

DNS_DNAME=`hostname --domain`  # Same as `dnsdomainname`'
FQDN_NAME=`hostname --fqdn`
ALIAS_NAME=`hostname --alias`

echo
echo "== 'hostname' values obtained via DNS =="
echo
echo "The part after the first '.' of the 'canonical name' value returned by getaddrinfo(gethostname());"
echo "...obtained by running 'hostname --domain'"
echo "DNS domain name: $(pad $DNS_DNAME)"
echo
echo "The 'canonical name' value returned by getaddrinfo(gethostname());"
echo "...obtained by running 'hostname --fqdn'"
echo "Fully qualified hostname: $(pad $FQDN_NAME)"
echo
echo "Alias obtained by gethostbyname(gethostname());"
echo "...obtained by running 'hostname --alias'"
echo "Hostname alias: $(pad $ALIAS_NAME)"

BY_IP_ADDR=`hostname --ip-address`
ALL_IP_ADDR=`hostname --all-ip-addresses`
ALL_FQDN_NAMES=`hostname --all-fqdn`

echo
echo "== 'hostname' values obtained by collecting configured network addresses =="
echo
echo "Collect the IP addresses from getaddrinfo(gethostname()), apply getnameinfo(ip) to all those addresses;"
echo "...obtained by running 'hostname --ip-address'"
echo "By IP address: $BY_IP_ADDR"
echo
echo "Call getnameinfo(NI_NUMERICHOST) on all addresses snarfed from active interfaces;"
echo "...obtained by running 'hostname --all-ip-addresses'"
echo "All IP addresses: $ALL_IP_ADDR"
echo
echo "Call getnameinfo(NI_NAMEREQD) on all addresses snarfed from active interfaces (involves lookup in /etc/hosts);"
echo "...obtained by running 'hostname --all-fqdn'"
echo "All fully qualified hostnames: $ALL_FQDN_NAMES"

ผลลัพธ์บน Amazon EC2 VM ที่รัน Fedora 19หลังจากตั้งค่าเคอร์เนลและการเติมด้วยตนเอง/etc/hostnameแล้ว แต่ไม่มีการเปลี่ยนแปลงใด ๆ ใน/etc/hostsลักษณะนี้:

== Kernel values ==

Kernel hostname: 'kyubee'
Kernel domainname: 'homelinux.org'

== According to bash ==

HOSTNAME = 'ip-172-31-24-249.localdomain'

== Hostname config file ==

File '/etc/hostname' contains: 'kyubee.homelinux.org'

== Network config file ==

File '/etc/sysconfig/network' exists but does not contain a line for 'HOSTNAME'

== Nodename ==

The 'nodename' given by 'uname --nodename' is: 'kyubee'

== 'hostname' directly obtained values ==

The result of gethostname();
...obtained by running 'hostname'
Hostname: 'kyubee'

The part before the first '.' of the value returned by gethostname();
...obtained by running 'hostname --short'
Short name: 'kyubee'

The result of getdomainname(); the code of 'hostname' seems to call this the 'NIS domain name';
...on Linux, this is the kernel-configured domainname;
...obtained by running 'domainname'
NIS domain name: 'homelinux.org'

The result of yp_get_default_domain(), which may fail;
...obtained by running 'ĥostname --yp'
YP default domain: 'homelinux.org'

== 'hostname' values obtained via DNS ==

The part after the first '.' of the 'canonical name' value returned by getaddrinfo(gethostname());
...obtained by running 'hostname --domain'
DNS domain name: ''

The 'canonical name' value returned by getaddrinfo(gethostname());
...obtained by running 'hostname --fqdn'
Fully qualified hostname: 'kyubee'

Alias obtained by gethostbyname(gethostname());
...obtained by running 'hostname --alias'
Hostname alias: ''

== 'hostname' values obtained by collecting configured network addresses ==

Collect the IP addresses from getaddrinfo(gethostname()), apply getnameinfo(ip) to all those addresses;
...obtained by running 'hostname --ip-address'
By IP address: fe80::8f6:8eff:fe49:9e21%eth0 172.31.24.249

Call getnameinfo(NI_NUMERICHOST) on all addresses snarfed from active interfaces;
...obtained by running 'hostname --all-ip-addresses'
All IP addresses: 172.31.24.249

Call getnameinfo(NI_NAMEREQD) on all addresses snarfed from active interfaces (involves lookup in /etc/hosts);
...obtained by running 'hostname --all-fqdn'
All fully qualified hostnames: ip-172-31-24-249.eu-west-1.compute.internal

วิธีที่ยืดหยุ่นในการรับชื่อโฮสต์แบบเต็มในภาษา Perl จะเป็น:

sub getHostname {

   my $hostname_short = `/bin/hostname --short`;
   if ($? != 0) { print STDERR "Could not execute 'hostname --short' -- exiting\n"; exit 1 }
   chomp $hostname_short;

   my $hostname_long  = `/bin/hostname`;
   if ($? != 0) { print STDERR "Could not execute 'hostname' -- exiting\n"; exit 1 }
   chomp $hostname_long;

   if ($hostname_long =~ /^${hostname_short}\..+$/) {
      # "hostname_long" is a qualified version of "hostname_short"
      return $hostname_long
   }
   else {
      # both hostnames are "short" (and are equal)
      die unless ($hostname_long eq $hostname_short);

      my $domainname = `/bin/domainname`;
      if ($? != 0) { print STDERR "Could not execute 'domainname' -- exiting\n"; exit 1 }
      chomp $domainname;

      if ($domainname eq "(none)") {
         # Change according to taste
         return "${hostname_short}.localdomain"
      }
      else {
         return "${hostname_short}.${domainname}"
      }
   }
}

และในการทุบตีมันจะเป็น:

function getHostname {

   local hostname_short=`/bin/hostname --short`

   if [ $? -ne 0 ]; then
      echo "Could not execute 'hostname --short' -- exiting" >&2; exit 1
   fi

   local hostname_long=`/bin/hostname`

   if [ $? -ne 0 ]; then
      echo "Could not execute 'hostname' -- exiting" >&2; exit 1
   fi

   if [[ $hostname_long =~ ^"$hostname_short"\..+$ ]]; then
      # "hostname_long" is a qualified version of "hostname_short"
      echo $hostname_long
   else
      # both hostnames are "short" (and are equal)
      if [[ $hostname_long != $hostname_short ]]; then
         echo "Cannot happen: '$hostname_long' <> '$hostname_short' -- exiting" >&2; exit 1
      fi

      local domainname=`/bin/domainname`

      if [ $? -ne 0 ]; then
         echo "Could not execute 'domainname' -- exiting" >&2; exit 1
      fi

      if [[ domainname == '(none)' ]]; then
         # Change according to taste
         echo "${hostname_short}.localdomain"
      else
         echo "${hostname_short}.${domainname}"
      fi
   fi
}

หมายเหตุ

หมายเหตุ 1: HOSTNAME เป็นตัวแปรเชลล์ที่ bash จัดเตรียม ("ตั้งค่าเป็นชื่อของโฮสต์ปัจจุบันโดยอัตโนมัติ") แต่ไม่มีการบ่งชี้ว่า bash มาถึงที่ค่านั้น

หมายเหตุ 2: อย่าลืม / etc / hostname ใน /boot/initrams-FOO.img ...


4
ขออภัยถ้าสิ่งนี้ควรชัดเจน แต่สิ่งใดที่เกี่ยวกับการตั้งชื่อโฮสต์
Chris S

โดยทั่วไปแล้วฉันจดบันทึกไว้ขณะทำการค้นคว้าการตั้งค่าชื่อโฮสต์บนอินสแตนซ์ Fedora 19 EC2 ของฉัน สำหรับผลลัพธ์: 1) ตั้งค่า FQHN ใน / etc / hostname 2) อย่าแตะต้อง / etc / hosts 3) คุณสามารถตั้งค่า 'เคอร์เนลชื่อโฮสต์' เป็น FQHN หรือชื่อโฮสต์ที่ไม่มีเงื่อนไขหากไม่ได้ตั้งค่าจาก / etc / hostname 4) คุณสามารถตั้งค่า 'kernel domainname' เป็น domainname ได้ซึ่งจะดีกว่า '(none)'
David Tonhofer

-4

ตัวเลือก / etc / hosts ทำงานได้ดี

แต่คุณต้องการตรวจสอบให้แน่ใจว่าไฟล์ที่เหมาะสมทั้งหมดได้รับการอัปเดตแล้วให้เรียกใช้เครื่องมือตั้งค่า


การแจกจ่ายของฉันไม่มีเครื่องมือ "ตั้งค่า" คุณใช้การกระจายแบบไหนที่มี
nickgrim

ระบบปฏิบัติการใดที่มีสีแดงมีเครื่องมือตั้งค่า rhel / centos / fedora คุณใช้ระบบปฏิบัติการใด
Riaan

3
เนื่องจากคำถามพูดถึงความแตกต่างระหว่าง distros แบบ RHEL และแบบ Debian เราจึงต้องถือว่าผู้ถามใช้ทั้งสอง ไม่มีเครื่องมือ 'ตั้งค่า' ใน distros แบบเดเบียน
Martijn Heemels

-4

อืม ... ในโฮสต์ linux หากคุณต้องการเปลี่ยน HOSTNAME และ FQDN คุณควรแก้ไข 3 ขั้นตอน (ตัวอย่างเช่นโฮสต์ใหม่คือrizzo.ifp.com ):

ขั้นตอนที่ # 1เปลี่ยนค่า HOST ในการกำหนดค่าคุณสมบัติ NETWORK:

sudo vi /etc/sysconfig/network

เปลี่ยนหรือเพิ่มสตริง:

HOSTNAME=rizzo.ifp.com

ขั้นตอนที่ # 2แก้ไขการตั้งค่าโฮสต์ของคุณ

sudo vim /etc/hosts
#IPv4
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
[External IP]   rizzo rizzo.ifp.com

ขั้นตอน # 3รีบูตโฮสต์ของคุณทำได้ดีเพียงตรวจสอบการกำหนดค่าใหม่

[rizzo@rizzo]# hostname -f
rizzo.ifp.com

-4

คำสั่งซื้อไม่ถูกต้อง มันจะต้องเป็น:

1.2.3.4 full.example.com full

ตัวอย่างอาจเป็นเช่นนี้

[External IP] rizzo.example.com rizzo 

4
คำถามนี้มีคำตอบที่มีคุณภาพจริง ๆ แล้ว สิ่งนี้ไม่ได้เพิ่มอะไรใหม่
Esa Jokinen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.