Hadyai Internet R&D LAB
ผลงานของ Hadyai Internet R&D LAB => คุยกับทีมวิจัย => ข้อความที่เริ่มโดย: admin ที่ 06 กันยายน 2008, 05:13:23
-
อันนี้เป็น tip เล็กๆ น้อยๆ สำหรับผู้ที่มีความรู้ linux เบื้องต้นอยู่แล้ว
หรือผู้ที่ติดตั้ง server ให้กับลูกค้ารายอื่น ๆ หรือผู้ที่ติดตั้ง Server ไว้หลาย ๆ สาขา
ยกตัวอย่างเช่น
กรณีติดตั้ง Server แบบ 2WAN ทั่ว ๆ ไป ผมจะแนะนำให้ตั้ง ip วง LAN เป็น 192.168.200.1
และจะให้ set ip modem ของ ppp101 หรือ เส้นที่หนึ่ง เป็น 192.168.1.1
และ set ip modem ของ ppp102 หรือ เส้นที่สองเป็น 192.168.2.1
หรือถ้ามีมากกว่า 2 wan ก็ตั้งเป็น 192.168.3.1, 192.168.4.1 ไปเรื่อย ๆ ไม่ให้ซ้ำกัน
เหตุผลที่ให้ตั้งแบบนี้ เนื่องจากว่า เราจะสามารถ monitor modem แต่ละตัวได้ และสามารถ config modem ได้
โดยที่ไม่ต้องถอดออกมาต่อกับเครื่องลูก และยังสามารถ remote ดูสถานะของ modem แต่ละตัวได้จากข้างนอก
ว่าทำงานปกติอยู่หรือไม่
-
แล้ววิธี ดูว่าโมเดมแต่ละตัวทำงานเป็ฯอย่างไร ต้องใช้คำสั่งอะไรครับ (ดูจากข้างนอก)
-
- -* จะดูได้อย่างไรละคับท่านต่อเป็นแบบ pppoe นะคับ
modem จะอยู่หลัง modem Eth1 Eth2 Eth3
ซื่งจะมองไม่เห็นอยู่แล้วนิคับ
ที่กล่าวมาผมคิดว่า เป็น แบบ static IP ถึงสามารถดูได้ใช้หรือเปล่าคับ - -*
แล้ว sub net ก็ต้องเปลี่ยนเช่นกันนะคับผม
-
เพิ่มเติมต่อนะครับ
เมื่อเรา set ip ดังที่กล่าวมาแล้ว
ในการจะเข้าดู modem แต่ละตัวนั้น ขั้นตอนมีดังนี้ครับ
ก่อนอื่นจะต้อง remote เข้า server เพื่อทำการ set ip ของ eth ที่ต่อกับโมเด็มก่อน
ผมจะไม่แนะนำให้ set ip ทิ้งไว้ เนื่องจากว่า ถ้า set ip ทิ้งไว้ ลูกค้าในร้านจะสามารถเข้าดู modem ได้
ผมจึงแนะนำว่า จะต้อง remote เข้า server แล้วทำการ set ip ของ eth ก่อน ถึงจะ เข้าดู modem นั้น ๆ ได้
ยกตัวอย่างเช่น modem ตัวที่ 1 set ip เป็น 192.168.1.1 ต่อกับ eth1
เราจะต้องทำการ set eth1 เป็น ip 192.168.1.2 ก่อน โดยใช้คำสั่ง
ifconfig eth1 192.168.1.2
และต้องแก้ไขไฟล์ /etc/init.d/tableroute.sh นิดหน่อย เพื่อให้ สามารถเข้าดู modem ได้
ตรงส่วนของ Mark Local Process
# MARK Local Process
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j NET
เป็น
iptables -t mangle -A OUTPUT -d ! 192.168.0.0/16 -p tcp --dport 80 -j NET
เมื่อทำดังนี้เสร็จแล้ว
เราก็สามารถ เข้าดู modem โดยพิมพ์ 192.168.1.1 ที่ IE ได้เลย จะสามารถเข้าดู Modem โดยไม่ีมีการกระทบต่อระบบเดิมแต่อย่างใด
เมื่อทำการตรวจสอบโมเด็มหรือค่าต่าง ๆ เช่น เช็ค DSL ว่าความเร็วปกติไหม upload/download ได้เต็มไหม
ค่าสัญญาณรบกวน ปกติหรือไม่ เป็นต้น
เมื่อทำการตรวจสอบเสร็จแล้ว ให้ทำการลบค่า ip ที่ตั้งไว้ใน eth1 ออก เพื่อป้องกันไม่ให้ผู้อื่นสามารถเข้ามาดู modem ได้
โดยใช้คำสั่ง
ifconfig eth1 0.0.0.0
เพียงแค่นี้ เราก็จะสามารถ เข้าดู modem ได้ โดยไม่ต้องถอดเข้า ถอดออก
เด๋วผมจะมาอธิบายต่อว่า ในการ remote จากข้างนอก จะสามารถ ดูสถานะของโมเด็มได้อย่างไร
-
วิธีต่อไป ก็จะเป็นการ monitor modem จากภายนอก โดยใช้ความสามารถของ proxy เป็นตัวช่วยสำหรับการ monitor
เมื่อทำการ remote เข้ามายัง server ผ่าน no-ip แล้ว ก็จะต้องกำหนด ip ให้กับ eth ที่ต่อกับ modem เหมือนวิธีข้างต้น
ทำการตรวจสอบ ip ของเส้นเน็ตว่า ip อะไร โดยใช้คำสั่ง ifconfig ppp102 (กรณีที่ ppp102 เป็นเส้นเน็ต)
ppp102 Link encap:Point-to-Point Protocol
inet addr:119.42.85.108 P-t-P:119.42.85.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:4084566 errors:0 dropped:0 overruns:0 frame:0
TX packets:3049353 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:3602039352 (3.3 GB) TX bytes:213987046 (204.0 MB)
จะเห็นว่า ppp102 จะมี ip เป็น 119.42.85.108
ให้ทำการแก้ config ของ squid ซึ่งจะอยู่ใน /etc/squid/squid.conf
ให้เพิ่ม ip ของ ppp102 เข้าไปด้านบน
# This file is auto generate by xxxkung script
http_port 192.168.200.1:8080 transparent no-connection-auth
http_port 119.42.85.108:8080 transparent no-connection-auth
tcp_outgoing_address 0.0.0.0
udp_incoming_address 0.0.0.0
udp_outgoing_address 0.0.0.0
เพิ่มบรรทัดที่เป็นสีส้มลงไป เพื่อให้ squid.conf ทำการ bind ip ดังกล่าว
เสร็จแล้วทำการ restart squid ใหม่ ด้วยคำสั่ง
/etc/init.d/squid reload
* Reloading Squid configuration files
...done.
ก็เป็นอันเรียบร้อย
ต่อไปเราก็นำ ip (119.42.85.108)และ port (8080) ที่กำหนดไว้ใน squid.conf
ใส่ใน IE เพียงแค่นี้เราก็สามารถ remote เข้าดูสถานะของ modem ได้จากภายนอก
โดยพิมพ์ ip 192.168.1.1 ก็สามารถเข้าสู่ web ของ modem ได้ครับ
หลังจาก ดำเนินการต่าง ๆ เสร็จแล้ว
ก็ให้ทำการ ลบ ip ออกจาก squid.conf และทำการ reload ใหม่
ก็เป็นอันเรียบร้อย
ลองนำไปใช้ดูครับ
-
ผมใช้วิธีเหล่านี้
ในการตรวจเช็คสถานะของ Server , สถานะของ modem ของลูกค้า หรือแม้แต่ลูกค้าที่ Set Bridge mode ไม่ได้
เราก็สามารถ remote ไป set ให้ได้โดยใช้วิธีนี้ได้เลย
ควบคู่กับการใช้คำสั่ง mii-tool เพื่อเช็คการเชื่อมต่อสาย ว่าลูกค้าต่อสายถูกต้องหรือไม่
-
ผมใช้วิธีเหล่านี้
ในการตรวจเช็คสถานะของ Server , สถานะของ modem ของลูกค้า หรือแม้แต่ลูกค้าที่ Set Bridge mode ไม่ได้
เราก็สามารถ remote ไป set ให้ได้โดยใช้วิธีนี้ได้เลย
ควบคู่กับการใช้คำสั่ง mii-tool เพื่อเช็คการเชื่อมต่อสาย ว่าลูกค้าต่อสายถูกต้องหรือไม่
โมเด็มที่มี flow control กับไม่มี flow control ต่างกันยังไงครับ
eth1: negotiated 100baseTx-FD, link ok
eth2: negotiated 100baseTx-FD flow-control, link ok
-
ใน file /etc/init.d/tableroute.sh ไม่เห็นมี
ตรงส่วนของ Mark Local Process
# MARK Local Process
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j NET
เป็น
iptables -t mangle -A OUTPUT -d ! 192.168.0.0/16 -p tcp --dport 80 -j NET
ให้เราเข้าไปแก้เลยครับ
ตอนนี้ remote ตอนเราภายใต้ LAN ของ server ได้ สงสัย admin แก้ให้แล้ว
แต่ลองทำแล้ว remote จากข้างนอกเข้ามาไม่ได้ครับ และ ตอนสั่ง
etc/init.d/squid reload
* Reloading Squid configuration files
มันไม่มี ...done. หมายความว่า reload สำเร็จหรือป่าวครับ