กำหนดค่า Network

จาก NakhonNet
ข้ามไปยัง: นำทาง, ค้นหา

การกำหนดค่า Network เพื่อทำการเชื่อมต่อเซิร์ฟเวอร์กับระบบแลน และอินเทอร์เน็ต

ไฟล์กำหนดค่า

ไฟล์กำหนดค่า Network ของ Slackware จะแบ่งออกเป็น 2 ไฟล์ คือ

  • /etc/rc.d/rc.inet1 สำหรับกำหนดค่า IP Address และ Routing
  • /etc/rc.d/rc.inet2 สำหรับเรียกเซอร์วิสต่างๆ ขึ้นมาทำงาน

โดยปกติแล้ว Slackware จะใช้ไฟล์กำหนดค่าสำหรับไฟล์ /etc/rc.d/rc.inet1 ในอีกไฟล์ คือ /etc/rc.d/rc.inet1.conf สำหรับการกำหนดค่าแบบง่าย ก็สามารถแก้ไขเฉพาะไฟล์นี้ได้โดยตรง แต่สำหรับการกำหนดค่าแบบซับซ้อน การสร้างไฟล์ /etc/rc.d/rc.inet1 เองโดยตรงอาจจะทำได้ง่ายกว่า

ในที่นี้จะแสดงการกำหนดค่าทั้งสองวิธี โดยจะใช้วิธีแรกในกรณีที่ไม่ทำ Network Bonding และจะใช้วิธีหลังในกรณีที่มีการทำ Network Bonding

การแก้ไขไฟล์ /etc/rc.d/rc.inet1.conf

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

อย่างไรก็ดี หากมีการเรียกโปรแกรม netconfig โปรแกรมจะบันทึกค่าต่างๆ ทับสิ่งที่แก้ไขเองทั้งหมด ดังนั้นหากแก้ไขไฟล์นี้เอง ก็ไม่ควรเรียกโปรแกรม netconfig อีก หรือสามารถสำรองไฟล์ /etc/rc.d/rc.inet1.conf และ /etc/rc.d/rc.inet1 (หากแก้ไข) ไว้ก่อน

ไฟล์ /etc/rc.d/rc.inet1.conf มีโครงสร้างดังนี้

# Config information for eth0:
IPADDR[0]="192.168.1.2"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IPADDR[1]="192.168.2.254"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Default gateway IP address:
GATEWAY="192.168.1.1"

ข้อความสีน้ำเงินคือส่วนที่แก้ไขให้ตรงกับที่ต้องการ สำหรับในตัวอย่างข้างต้น eth0 เป็น Uplink ไปยัง router ส่วน eth1 เป็น Downlink ไปยังเครื่องลูก

หากดีไวซ์ของแลนไม่ตรงตามค่าที่กำหนดไว้ (eth0 สำหรับการ์ดใบที่ 0 และ eth1 สำหรับการ์ดใบที่ 1) ก็สามารถระบุชื่อดีไวซ์ได้เอง เช่น

IFNAME[0]="bond0"

กรณีไม่ใช่ Bonding

กรณีที่ไม่ใช้ Network Bonding ให้แก้ไขไฟล์ /etc/rc.d/rc.inet1.conf เป็นดังนี้

# Config information for eth0:
IPADDR[0]="192.168.1.2"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IPADDR[1]="192.168.2.254"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Default gateway IP address:
GATEWAY="192.168.1.1"

ข้อความสีน้ำเงินคือส่วนที่เพิ่มหรือแก้ไข (บางจุดอาจจะมีค่านี้อยู่แล้วก็ได้ ในกรณีที่กำหนดค่ามาตั้งแต่ตอนติดตั้ง Slackware)

กรณีใช้ Bonding

กรณีที่ใช้ Network Bonding ให้แก้ไขไฟล์ /etc/rc.d/rc.inet1.conf เป็นดังนี้

# Config information for eth0:
IPADDR[0]="192.168.1.2"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

# Config information for eth1:
IFNAME[1]="bond0"
IPADDR[1]="192.168.2.254"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Default gateway IP address:
GATEWAY="192.168.1.1"

ข้อความสีน้ำเงินคือส่วนที่เพิ่มหรือแก้ไข (บางจุดอาจจะมีค่านี้อยู่แล้วก็ได้ ในกรณีที่กำหนดค่ามาตั้งแต่ตอนติดตั้ง Slackware)

การสร้างไฟล์ /etc/rc.d/rc.inet1 เอง

สำหรับผู้ที่ใช้งาน Network Bonding หรือผู้ที่ไม่ต้องการใช้ไฟล์กำหนดค่าที่ซับซ้อน ก็สามารถสร้างไฟล์ /etc/rc.d/rc.inet1 เอง โดยมีเฉพาะคำสั่งที่จำเป็นเท่านั้น

การสร้างไฟล์ /etc/rc.d/rc.inet1 เองตามขั้นตอนนี้ จะไม่สนค่าที่อยู่ในไฟล์ /etc/rc.d/rc.inet1.conf อีกต่อไป

กรณีไม่ใช้ Bonding

กรณีที่ไม่ใช่ Network Bonding ให้สร้างไฟล์ /etc/rc.d/rc.inet1 ดังนี้

#!/bin/sh
# /etc/rc.d/rc.inet1
# This script is used to bring up the various network interfaces.

# Loopback
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

# Ethernet
/sbin/ifconfig eth0 192.168.1.2 netmask 255.255.255.0
/sbin/ifconfig eth1 192.168.2.254 netmask 255.255.255.0

# Routing
/sbin/route add default gw 192.168.1.1 metric 1

# End of /etc/rc.d/rc.inet1

กรณีใช้ Bonding

กรณีที่ไม่ใช่ Network Bonding ให้สร้างไฟล์ /etc/rc.d/rc.inet1 ดังนี้

#!/bin/sh
# /etc/rc.d/rc.inet1
# This script is used to bring up the various network interfaces.

# Loopback
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

# Ethernet
/sbin/ifconfig eth0 192.168.1.2 netmask 255.255.255.0
/sbin/ifconfig bond0 192.168.2.254 netmask 255.255.255.0
/sbin/ifenslave bond0 eth1
/sbin/ifenslave bond0 eth2

# Routing
/sbin/route add default gw 192.168.1.1 metric 1

# End of /etc/rc.d/rc.inet1

NAT

การติดตั้งในที่นี้ จะใช้เครื่องเซิร์ฟเวอร์เป็น Gateway ด้วย เพื่อความสะดวกในการติดตั้ง จึงทำ NAT (Network Address Translation) ที่เครื่องเซิร์ฟเวอร์ด้วย

การทำ NAT อย่างง่ายบน Slackware ให้สร้างไฟล์ /etc/rc.d/rc.firewall ดังนี้

#!/bin/sh

# Clear old iptable rules
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

# NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.2

เมื่อบันทึกไฟล์เรียบร้อยแล้ว ให้ทดสอบเรียกไฟล์ ดังนี้

root@diskserv:~# sh /etc/rc.d/rc.firewall

ตรวจสอบผลลัพธ์โดยการใช้คำสั่ง ดังนี้

root@diskserv:~# iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 108 packets, 90K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 124 packets, 83K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 113 packets, 85K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 130 packets, 108K bytes)
 pkts bytes target     prot opt in     out     source               destination     
    0     0 SNAT       tcp  --  *      eth0    192.168.2.0/24       0.0.0.0/0           to:192.168.1.2
root@diskserv:~# 

ถ้าโปรแกรมทำงานเรียบร้อย ก็กำหนดให้โปรแกรมทำงานอัตโนมัติตอนบูตเครื่อง ดังนี้

root@diskserv:~# chmod +x /etc/rc.d/rc.firewall

View/Edit Diskless Server
ภาพรวม หลักการทำงาน - Hardware - Software
ติดตั้ง Server ติดตั้ง Slackware64 13.37 บูต - แบ่งพาร์ทิชั่น - เตรียมฮาร์ดดิสก์ - ติดตั้งแพ็กเกจ - ติดตั้ง Lilo - กำหนดค่าเน็ตเวิร์ก - กำหนดรหัสผ่าน - Slackware64 14.0
ปรับแต่ง Slackware Linux การใช้งานเบื้องต้น - คอมไพล์ Kernel - สร้างไดเรกทอรี - ปรับแต่ง Filesystem - ปรับแต่งแพ็กเกจ - เพิ่มการเรียก dhcpd
ปรับแต่ง Network กำหนดชื่อ Device - ทำ Network Bonding - กำหนดค่า Network
RAID สร้างพาร์ทิชั่น - สร้าง RAID - ไม่ใช้ RAID
กำหนดค่า Service NTPD - NAMED - TFTPD
โปรแกรม iSCSI Enterprise Target - iPXE
โปรแกรมจัดการระบบ Apache - MySQL - PhpMyAdmin - CakePHP - Disk Serve Manager (อัปเกรด)
ติดตั้ง Client ติดตั้ง Windows XP - ติดตั้ง iSCSI - ปรับแต่ง Windows XP - คัดลอกดิสก์ไปยังเซิร์ฟเวอร์ - Windows 7 64-bit
การใช้งาน ภาพรวม นิยาม - ไฟล์ Config และ Script
การกำหนดค่า Config - Cluster - Alternative - Computer - ตัวอย่าง
การใช้งาน หน้าจอหลัก - Mode การใช้งาน - ปรับปรุง Image - สำรอง Image - ขยายขนาด Image - ใช้หลาย Server
โปรแกรมเสริม ปรับแต่งเครื่องลูกขณะบูต - ฟอร์แมตไดรฟ์เสริม
การแก้ไขปัญหา FAQ - ไฟล์กำหนดค่า - ไฟล์บันทึกการทำงาน - Secure Erase