Pages

6/17/2012

Installing Vyatta Network OS

Vyatta Network OS for virtual and cloud infrastructure.
เอาไว้สำหรับทำต่อระบบ Network แบบจำลองนั่นเอง
ทีนี้ก็เลยจะเอาไว้สร้าง lab เพื่อจำลองระบบ routing  จะได้ทดลองคำสั่งต่างๆได้

รูปแบบระบบที่จะติดตั้ง


  • Host machine:
    • Linux 
    • VMWare 8.0
    • eth0 ต่อออก WAN (Internet)
    • vmnet8 ต่อเข้ากับระบบ VMWare NAT มี IP address = 172.16.14.1
    • มี interface ซ่อนอยู่ตัวนึงของ VMWare (มีมาโดยอัตโนมัติ) เป็น NAT gateway ที่ IP address = 172.16.14.2
  • Vyatta:
    • Vyatta 6.4-2012.04.30 community edition
    • eth0: ต่อเข้ากับ VMware NAT โดยมี IP address = 172.16.14.11
    • eth1: ต่อเข้ากับ VMware LAN segmentation โดยมี IP address = 10.10.10.1
    • เปิด DHCP server ไว้ที่ eth1 โดยจ่ายให้ตั้งแต่ 10.10.10.2 - 10.10.10.250
    • ทำ NAT จากสาย eth1 ให้วิ่งไปยัง eth0 (และในที่สุดออกสู่ Internet ได้)
    • เปิด port forwarding โดยให้ eth0 รอรับที่ port 4444, แล้วจึงส่งข้อมูลต่อไปให้เครื่อง client ที่ 10.10.10.19 port 4444  โดยรับเฉพาะ TCP packets เท่านั้น
  • Client:
    • Linux
    • eth0 ต่อเข้ากับ VMware LAN segmentation กลุ่มเดียวกับเครื่อง Vyatta และรอรับ IP, DNS จาก DHCP ของ Vyatta
    • เปิด nc -lvvp 4444 -e /bin/bash รอรับไว้

วิธีการติดตั้ง บน VMware

  1. ดาวน์โหลด ISO file จาก http://www.vyatta.com/download/trial_software/VyattaCore : ตัวนี้จะเป็น community version คือ"ฟรี"นั่นเอง แล้วก่อนจะดาวน์โหลดได้จะต้องกรอกชื่อและรายละเอียดต่างๆก่อน (กรอกมั่วก็คงไม่เป็นไร)
  2. เลือกดาวน์โหลด ตัวไหนมาก็ได้  คือมันจะแยกเป็นสองแบบ แบบ 32bit หรือแบบ 64bit  , แล้วก็จะแยกอีกทีว่าจะเอาแบบ สำหรับติดตั้ง หรือจะเอาแบบ virtual image คือเป็น Live CD เปิดมาจะใช้งานได้เลย    เลือกตัวไหนก็ได้  (ปล.ผมเลือกแบบ virtual image)
  3. เปิด VMWare, สร้าง VM ใหม่ขึ้นมาโดยให้มี 
    1. hard disk ขนาดมากกว่า 1GB ขึ้นไป
    2. RAM ให้ซัก 92 MB ละกัน ต่ำๆไว้ก่อนจะได้ประหยัดๆ
    3. มี CDROM โดยให้ mount ไปหาไฟล์ .iso ที่ download มาไว้ตั้งแต่ข้อ 2
  4. เปิด VM ตัวนี้โดยให้ boot จากแผ่น
  5. เข้ามาถึง จะต้อง Login โดยใช้
    1. Username:  vyatta
    2. Password: vyatta
  6. สั่งคำสั่งเพื่อติดตั้ง แต่ก่อนอื่น  ต้องเข้าใจว่า การติดตั้งมีสองอย่างคือ 
    1. ติดตั้งแบบ image: คือ การติดตั้งแบบ config เสร็จเรียบร้อยแล้ว แล้วเอามาแพ็กรวมกันเป็น ไฟล์ image  ซึ่งข้อดีก็คือ บน hard disk ตัว VM ตัวนี้จะสามารถมีได้หลายๆ network configuration (โดย 1 ระบบคือ 1 image)  แล้วก็เลือกเปิดตอนบูทเครื่องได้  แต่ก็จะแก้ไขข้อมูลลำบาก
      • ติดตั้งโดยใช้คำสั่ง  /sbin/install-image
    2. ติดตั้งแบบ system: คือการติดตั้งแบบลงทุกอย่างลงบน hard disk โดยให้โครงสร้างทั้ง hard disk คือหนึ่งระบบเลย   การลงแบบนี้จะแก้ไขค่าง่าย  แต่ก็จะได้ network configuration แค่ชุดเดียว  ถ้าอยากแก้ไขก็ต้องค่อยๆไล่แก้ไฟล์เอง
      • ติดตั้งโดยใช้คำสั่ง  /sbin/install-system
  7. ตอนติดตั้ง (ในที่นี้เลือกแบบ system)
    1. Would you like to continue? (Yes/No) [Yes]: Yes
    2. Partition (Auto/Union/Parted/Skip) [Auto]: Auto
    3. Install the image on? [sda]: sda
    4. This will destroy all data on /dev/sda. Continue? (Yes/No) [No]: Yes
    5. How big of a root partition should I create? (1000MB - ......MB) [.......] MB:  <enter>
    6. Which one should I copy to sda? [/opt/vyatta/etc/config/config.boot]: <enter>
    7. Enter password for administrator account
      1. Enter vyatta password:
    8. Which drive should GRUB modify the boot partition on? [sda]: <enter>
    9. Done!
  8. reboot
  9. พอเข้าหน้า Login ให้เข้าด้วย
    1. username: vyatta
    2. password: <password ที่ตั้งไว้ใน 7.7>
  10. เข้าโหมด configuration ด้วยคำสั่ง configure

คำสั่งต่างๆ บน Vyatta

คำสั่งต่างๆที่มี $ หรือ # นำหน้า  ไม่ต้องพิมพ์อักษร $,# นำหน้าทั้งนั้น

สั่ง upgrade ระบบ

     $ sudo full-upgrade
     $ sudo full-upgrade -k
     $ reboot

ดู version

     $ show version

ตั้ง ip address: default gateway 172.16.14.2

     $ configure
     # set interfaces ethernet eth0 address 172.16.14.11/24
     # set interfaces ethernet eth1 address 10.10.10.1/24
     # set system gateway-address 172.16.14.2 
     # set system name-server 8.8.8.8 
     # commit
     # save
     # exit
     $ 

ตั้ง SSH server [optional]

     $ configure
     # set service ssh listen-address 172.16.14.11
     # commit
     # save
     # exit

ตั้ง NAT : ให้วง 10.10.10.0/24 โดน masquerade แล้วออกไปยังสาย eth0

** remark: ระบบเก่าจะใช้ 'set service nat' แต่ของใหม่ย่อลงเหลือแค่ 'set nat'
     $ configure
     # set nat source rule 1 outbound-interface eth0
     # set nat source rule 1 source address 10.10.10.0/24
     # set nat source rule 1 translation address masquerade
     # commit
     # save
     # exit

** check สถานะของ NAT ที่สร้างด้วยการสั่ง:  run show nat source rules

ตั้ง Port forwarding : มีสองทางคือ ใช้แบบ service หรือ แบบ firewall  ในที่นี้จะใช้แบบ service

อันนี้จะ forward port ที่เข้าทาง eth0 แบบ tcp เข้ามาที่ port 4444 ของ vyatta โดยจะส่งไปให้ 10.10.10.19:4444
** remark: ระบบเก่าจะใช้ 'set service nat' แต่ของใหม่ย่อลงเหลือแค่ 'set nat'
     $ configure
     # set nat destination rule 10 inbound-interface eth0
     # set nat destination rule 10 protocol tcp
     # set nat destination rule 10 destination port 4444
     # set nat destination rule 10 translation address 10.10.10.19
     # set nat destination rule 10 translation port 4444
     # commit
     # save
     # exit

** check สถานะของ forwarding port ที่สร้างด้วยการสั่ง: run show nat destination rules

ตั้ง DHCP:  ตั้ง DHCP server สำหรับจ่าย IP ให้วงชื่อ ETH1_POOL (ตั้งอะไรก็ได้) ที่วิ่งเข้ามาทางสาย eth1 (ตรวจสอบเองอัตโนมัติ) โดยจะแจก ip ให้ตั้งแต่ 10.10.10.2 - 10.10.10.250 โดยจะจ่ายค่าอื่นๆให้เป็น default gateway = 10.10.10.1, DNS 8.8.8.8,4.4.4.4 และให้ในวงนี้มี domain ว่า *.a.example.com

$ configure
     # set service dhcp-server shared-network-name ETH1_POOL subnet 10.10.10.0/24 start 10.10.10.2 stop 10.10.10.250
     # set service dhcp-server shared-network-name ETH1_POOL subnet 10.10.10.0/24 default-router 10.10.10.1
     # set service dhcp-server shared-network-name ETH1_POOL subnet 10.10.10.0/24 dns-server 8.8.8.8
     # set service dhcp-server shared-network-name ETH1_POOL subnet 10.10.10.0/24 dns-server 4.4.4.4
     # set service dhcp-server shared-network-name ETH1_POOL subnet 10.10.10.0/24 domain-name a.example.com
     # commit 
     # save
     # exit

ผลลัพธ์

ใช้ ip addr ดู ip ของแต่ละ interface

ดูสถานะการ routing ปัจจุบัน (default gateway ที่ 172.16.14.2)

ดูสถานะการตั้งค่า NAT (Masquerade)

สถานะของ NAT (port forwarding)

สถานะของ DHCP server (leasing , statistics)


ถ้าจะเอา configuration ออกมาใช้คำสั่ง

เอาข้อมูลออกมาเป็นวิธีการ config มาในรูปแบบของ Vyatta
หรือว่าจะไปเปิดเอาจากในไฟล์ /opt/vyatta/etc/config/config.boot  ก็จะเหมือนกัน
     # show configuration all


หรือ จะเอาออกมาเป็นชุดคำสั่งแบบ command line ก็จะใช้คำสั่ง

     # show configuration commands

Reference:




No comments:

Post a Comment