เปิด Port สำหรับ DNS Server จัดการ Firewall บน CentOS 7
สำหรับ CentOS 7 แถม Default Firewall มาให้ ซึ่งถ้าก่อนหน้านี้ ใครใช้ iptable เป็น firewall อยู่ก็จะไม่ค่อยคุ้นเท่าไหร่
สำหรับ DNS Server จะใช้ port 53 ทั้ง tcp/udp ซึ่งทั้งสองตัวนี้ โดยค่าเริ่มต้นของ firewall บน CentOS 7 ตัวนี้ถูกปิด ไว้
วิธีเปิด ใช้คำสั่งตามนี้
firewall-cmd --zone=dmz --add-port=53/tcp --permanent
firewall-cmd --zone=dmz --add-port=53/udp --permanent
หลักจากนั้น สั่ง reload
วิธีเช็คง่ายๆ ว่า port ถูกปิดอยู่หรือไม่ ใช้ คำสั่ง ping ตามด้วยชื่อโดเมนในครื่องชี้ DNS Server มาที่เครื่องเรา
ping mydomain.com
ถ้าสั่งไปแล้วขึ้นข้อความ
ping: unknown host mydomain.com
ก็แสดงว่า firewall ยังปิด port 53 ไว้อยู่
คำสั่งเช็คสถานะของ firewall
systemctl start firewalld
ผลที่ได้
systemctl status firewalld
â— firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2016-10-28 23:44:24 ICT; 12h ago
Process: 783 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 783 (code=exited, status=0/SUCCESS)
คำสั่งเช็ค Port ที่ รัน DNS Server อยู่ด้วย netstat
netstat -lnp | grep named
ผลที่ได้ดประมาณนี้
tcp 0 0 122.122.122.122:53 0.0.0.0:* LISTEN 16614/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 16614/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 16614/named
tcp6 0 0 ::1:953 :::* LISTEN 16614/named
udp 0 0 122.122.122.122:53 0.0.0.0:* 16614/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 16614/name