ในกรณีที่ต้องการระบุเวลาในการใช้งาน SSH เช่น ต้องการอนุญาตให้ user1 สามารถ Login ผ่าน SSH ได้เฉพาะวันที่จันทร์ - ศุกร์ เวลา 08.00 - 15.00 เท่านั้น ส่วนวันและเวลานอกนั้นไม่อนุญาตให้ Login ได้ เป็นต้น ซึ่งในกรณีนี้จะใช้ความสามารถของ PAM เข้ามาช่วย
ระบบที่ใช้ทดสอบ
OS : Ubuntu Linux 10.04.1 x64 LTS
โจทย์ที่ต้องการ
อนุญาตให้ user1 สามารถ login ผ่าน SSH ได้ตามเวลาที่กำหนด คือ วันจันทร์ - ศุกร์ เวลา 08.30 - 15.00 เท่านั้น
เริ่มด้วยแก้ไขไฟล์ /etc/pam.d/sshd โดยเพิ่ม
account required pam_time.so
จากนั้นแก้ไขไฟล์ /etc/security/time.conf โดยเพิ่ม
sshd;*;user1;MoTuWdThFr0830-1755
จากนั้นทำการ restart SSH
root@Linux:~# /etc/init.d/ssh restart
จากนั้นทำการทดสอบใช้งาน จะพบว่า user1 ไม่สามารถ login ได้ ส่วน user อื่นยังสามารถใช้งานได้ตามปกติ
ตัวอย่าง Log ที่เกิดขึ้นจากการ login ของ user1 นอกเวลาที่กำหนดไว้
Dec 13 18:06:34 Linux sshd[3471]: Failed password for user1 from 172.17.12.51 port 62763 ssh2
ข้อสังเกตุ
หาก user1 ได้ทำการ login ในเวลาที่กำหนด แต่ยังคง Session ไว้จนเกินเวลาที่กำหนด ระบบจะไม่ตัด Session นั้นทิ้ง
วันจันทร์ที่ 13 ธันวาคม พ.ศ. 2553
วันพุธที่ 1 ธันวาคม พ.ศ. 2553
Shell Script : expect - programmed dialogue with interactive programs
ตัวอย่างการใช้งาน expect เพื่อใช้ในการ ssh หรือ telnet แบบอัตโนมัติไปยังอุปกรณ์ที่ต้องการ และสั่งให้อุปกรณ์นั้นทำงานตามคำสั่งที่กำหนดไว้ล่วงหน้า เสมือนว่าเราเป็นพิมพ์คำสั่งเอง (ประมาณว่าทำ bot)
ระบบที่ใช้ทดสอบ
Telnet Client : Ubuntu Linux โดยเครื่องนี้จะเป็น Bot และทำการ remote ไปยังเครื่องเป้าหมาย และพิมพ์คำสั่งต่าง ตามที่ได้กำหนดไว้ก่อนแล้ว
Telnet Server : Cisco Catalyst 3560 โดยเครื่องนี้จะถูก bot ทำการ remote เข้ามาเก็บข้อมูลที่ต้องการ
ตัวอย่างโจทย์ : สมมุติว่า ต้องการเก็บข้อมูล Mac address ที่อยู่บน Interface FastEthernet 0/1 ของ Switch เป้าหมายทุกๆ 1 ชั่วโมง และเป็นแบบอัตโนมัติ
วิธีการแบบ Manual : ทำการ Telnet ไปยัง Switch ที่ต้องการ แล้วใช้คำสั่ง show mac-address-table interface fastEthernet 0/1 แล้วเก็บ Output ที่ได้ โดยวิธีการนี้ ผู้ได้รับมอบหมายต้อง Telnet เองทุกๆ 1 ชั่วโมง ดังตัวอย่าง
komkit@Linux:~$ telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
User Access Verification
Username: komkit
Password:
Switch> show mac-address-table interface fastEthernet 0/1
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 001a.a026.466b DYNAMIC Fa0/1
1 001a.a026.466d DYNAMIC Fa0/1
Total Mac Addresses for this criterion: 2
Switch> exit
Connection closed by foreign host.
komkit@Linux:~$
จากวิธีการข้างต้น ผู้ดูแลระบบต้องทำการ telnet เข้าไปเองทุกๆ 1 ชั่วโมง เพื่อให้ได้ข้อมูลที่ต้องการ
วิธีการแบบอัตโนมัติ โดยใช้ expect บน Linux
แนวคิดคือ ทำเหมือนว่าเป็นคน Telnet เอง แต่ว่าจะให้ระบบ (bot) เป็นคนพิมพ์ให้
เริ่มด้วย ติดตั้ง expect
root@Linux:~# apt-get install expect
จากนั้นทำการสร้าง Script เพื่อให้ทำงานแทนเรา ดังตัวอย่าง
root@Linux:~# vi bot_telnet
#!/usr/bin/expect --
spawn telnet 192.168.0.1
expect "Username: "
send "komkit\r"
expect "pssword: "
send "TelnetPassword\r"
expect "Switch>"
send "show clock \r"
expect "Switch>"
send \r
expect "Switch>"
send "show mac-address-table interface fastEthernet 0/1 \r"
expect "Switch>"
send \r
expect "Switch>"
send exit\r
expect closed
exit 0
โดยค่าที่สนใจมีดังนี้
spawn คือ เริ่มทำงาน
expect คือ Prompt ที่สนใจ
send คือ เมื่อเจอ prompt ตาม expect ข้างต้นแล้ว ให้ส่ง Message หรือ Command เข้าไป (เหมือนว่าเรากำลังพิมพ์)
\r คือ กด Enter
ทำการ Save ไฟล์ แล้วทำการทดสอบดังนี้
root@Linux:~# expect bot_telnet
spawn telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
User Access Verification
Username: komkit
Password:
Switch>show clock
12:23:09.058 GMT+7 Thu Dec 2 2010
Switch>
Switch>show mac-address-table interface fastEthernet 0/1
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 001a.a026.466b DYNAMIC Fa0/1
1 001a.a026.466d DYNAMIC Fa0/1
Total Mac Addresses for this criterion: 2
Switch>
Switch>exit
Connection closed by foreign host.
root@Linux:~#
จาก Output ดังกล่าวจะเห็นว่า เราได้ข้อมูลตามต้องการ ต่อไปก็นำ Script ดังกล่าวให้ทำงานโดย cron แล้วเก็บ Output ลงไฟล์ เช่น
1 * * * * root expect bot_telnet >> /home/komkit/Switch_MAC.log
เมื่อ Admin ต้องการดูข้อมูล ก็เข้าไปดู File ดังกล่าวได้ตลอดเวลา
ระบบที่ใช้ทดสอบ
Telnet Client : Ubuntu Linux โดยเครื่องนี้จะเป็น Bot และทำการ remote ไปยังเครื่องเป้าหมาย และพิมพ์คำสั่งต่าง ตามที่ได้กำหนดไว้ก่อนแล้ว
Telnet Server : Cisco Catalyst 3560 โดยเครื่องนี้จะถูก bot ทำการ remote เข้ามาเก็บข้อมูลที่ต้องการ
ตัวอย่างโจทย์ : สมมุติว่า ต้องการเก็บข้อมูล Mac address ที่อยู่บน Interface FastEthernet 0/1 ของ Switch เป้าหมายทุกๆ 1 ชั่วโมง และเป็นแบบอัตโนมัติ
วิธีการแบบ Manual : ทำการ Telnet ไปยัง Switch ที่ต้องการ แล้วใช้คำสั่ง show mac-address-table interface fastEthernet 0/1 แล้วเก็บ Output ที่ได้ โดยวิธีการนี้ ผู้ได้รับมอบหมายต้อง Telnet เองทุกๆ 1 ชั่วโมง ดังตัวอย่าง
komkit@Linux:~$ telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
User Access Verification
Username: komkit
Password:
Switch> show mac-address-table interface fastEthernet 0/1
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 001a.a026.466b DYNAMIC Fa0/1
1 001a.a026.466d DYNAMIC Fa0/1
Total Mac Addresses for this criterion: 2
Switch> exit
Connection closed by foreign host.
komkit@Linux:~$
จากวิธีการข้างต้น ผู้ดูแลระบบต้องทำการ telnet เข้าไปเองทุกๆ 1 ชั่วโมง เพื่อให้ได้ข้อมูลที่ต้องการ
วิธีการแบบอัตโนมัติ โดยใช้ expect บน Linux
แนวคิดคือ ทำเหมือนว่าเป็นคน Telnet เอง แต่ว่าจะให้ระบบ (bot) เป็นคนพิมพ์ให้
เริ่มด้วย ติดตั้ง expect
root@Linux:~# apt-get install expect
จากนั้นทำการสร้าง Script เพื่อให้ทำงานแทนเรา ดังตัวอย่าง
root@Linux:~# vi bot_telnet
#!/usr/bin/expect --
spawn telnet 192.168.0.1
expect "Username: "
send "komkit\r"
expect "pssword: "
send "TelnetPassword\r"
expect "Switch>"
send "show clock \r"
expect "Switch>"
send \r
expect "Switch>"
send "show mac-address-table interface fastEthernet 0/1 \r"
expect "Switch>"
send \r
expect "Switch>"
send exit\r
expect closed
exit 0
โดยค่าที่สนใจมีดังนี้
spawn คือ เริ่มทำงาน
expect คือ Prompt ที่สนใจ
send คือ เมื่อเจอ prompt ตาม expect ข้างต้นแล้ว ให้ส่ง Message หรือ Command เข้าไป (เหมือนว่าเรากำลังพิมพ์)
\r คือ กด Enter
ทำการ Save ไฟล์ แล้วทำการทดสอบดังนี้
root@Linux:~# expect bot_telnet
spawn telnet 192.168.0.1
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
User Access Verification
Username: komkit
Password:
Switch>show clock
12:23:09.058 GMT+7 Thu Dec 2 2010
Switch>
Switch>show mac-address-table interface fastEthernet 0/1
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
1 001a.a026.466b DYNAMIC Fa0/1
1 001a.a026.466d DYNAMIC Fa0/1
Total Mac Addresses for this criterion: 2
Switch>
Switch>exit
Connection closed by foreign host.
root@Linux:~#
จาก Output ดังกล่าวจะเห็นว่า เราได้ข้อมูลตามต้องการ ต่อไปก็นำ Script ดังกล่าวให้ทำงานโดย cron แล้วเก็บ Output ลงไฟล์ เช่น
1 * * * * root expect bot_telnet >> /home/komkit/Switch_MAC.log
เมื่อ Admin ต้องการดูข้อมูล ก็เข้าไปดู File ดังกล่าวได้ตลอดเวลา
วันอาทิตย์ที่ 7 พฤศจิกายน พ.ศ. 2553
Linux, FreeBSD : การเทียบเวลาผ่าน ntpdate
ตัวอย่างการใช้งานคำสั่ง ntpdate เพื่อทำการเทียบเวลากับ NTP Server
ระบบที่ทดสอบ
Ubuntu 9.10 x64
NTP Server ที่ใช้ในการทดสอบ time1.nimt.or.th และ time2.nimt.or.th
- ทำการเทียบเวลาไปที่ time1.nimt.or.th โดยใช้ ntpdate
root@Linux:~# ntpdate time1.nimt.or.th
8 Nov 01:34:50 ntpdate[8825]: adjust time server 203.185.69.60 offset -0.000742 sec
- การส่ง message ของการเทียบเวลาให้เก็บเป็น Syslog (Divert logging output)
root@Linux:~# ntpdate -s time1.nimt.or.th
root@Linux:~# tail -n 1 /var/log/syslog
Nov 8 01:43:37 Linux ntpdate[10979]: adjust time server 203.185.69.60 offset -0.004108 sec
- ทำการเทียบเวลาไปที่ time1.nimt.or.th และ time2.nimt.or.th โดยให้ ntpdate เลือกเทียบอัตโนมัติ ซึ่งในกรณีนี้ ถ้า NTP Server เครื่องใดมีปัญหา ระบบจะทำการเทียบเวลากับเครื่องที่ยังทำงานอยู่ ส่วนในกรณีที่ทั้งสองเครื่องทำงานอยู่ ระบบจะเลือกเครื่องที่มี stratum ดีกว่า และ Delay ต่ำกว่า ตามลำดับ
root@Linux:~# ntpdate time1.nimt.or.th time2.nimt.or.th
8 Nov 01:36:08 ntpdate[9354]: adjust time server 203.185.69.60 offset -0.000014 sec
- การตรวจสอบ NTP stratum และ Delay ของเครื่อง NTP server ที่สนใจ
root@Linux:~# ntpdate -q time1.nimt.or.th
server 203.185.69.60, stratum 1, offset -0.001715, delay 0.02739
8 Nov 01:38:02 ntpdate[9743]: adjust time server 203.185.69.60 offset -0.001715 sec
ระบบที่ทดสอบ
Ubuntu 9.10 x64
NTP Server ที่ใช้ในการทดสอบ time1.nimt.or.th และ time2.nimt.or.th
- ทำการเทียบเวลาไปที่ time1.nimt.or.th โดยใช้ ntpdate
root@Linux:~# ntpdate time1.nimt.or.th
8 Nov 01:34:50 ntpdate[8825]: adjust time server 203.185.69.60 offset -0.000742 sec
- การส่ง message ของการเทียบเวลาให้เก็บเป็น Syslog (Divert logging output)
root@Linux:~# ntpdate -s time1.nimt.or.th
root@Linux:~# tail -n 1 /var/log/syslog
Nov 8 01:43:37 Linux ntpdate[10979]: adjust time server 203.185.69.60 offset -0.004108 sec
- ทำการเทียบเวลาไปที่ time1.nimt.or.th และ time2.nimt.or.th โดยให้ ntpdate เลือกเทียบอัตโนมัติ ซึ่งในกรณีนี้ ถ้า NTP Server เครื่องใดมีปัญหา ระบบจะทำการเทียบเวลากับเครื่องที่ยังทำงานอยู่ ส่วนในกรณีที่ทั้งสองเครื่องทำงานอยู่ ระบบจะเลือกเครื่องที่มี stratum ดีกว่า และ Delay ต่ำกว่า ตามลำดับ
root@Linux:~# ntpdate time1.nimt.or.th time2.nimt.or.th
8 Nov 01:36:08 ntpdate[9354]: adjust time server 203.185.69.60 offset -0.000014 sec
- การตรวจสอบ NTP stratum และ Delay ของเครื่อง NTP server ที่สนใจ
root@Linux:~# ntpdate -q time1.nimt.or.th
server 203.185.69.60, stratum 1, offset -0.001715, delay 0.02739
8 Nov 01:38:02 ntpdate[9743]: adjust time server 203.185.69.60 offset -0.001715 sec
วันอังคารที่ 12 ตุลาคม พ.ศ. 2553
Windows, Network : Set static arp บน Windows7 เพื่อป้องกัน ARP Spoofing
ปกติการ Set static ARP โดยใช้ command
arp -s IP_address MAC_address
เมื่อเครื่อง reboot ค่าที่กำหนดไว้ก็จะหายไปด้วย ซึ่งวิธีการแก้ไขก็อาจโดยการสร้างเป็น .bat เพื่อให้ทำงานทุกครั้งที่เปิดเครื่อง แต่ในกรณีนี้จะใช้วิธี netsh โดยสามารถทำได้ดังนี้
ระบบทดสอบ
OS: Microsoft Windows 7 Professional x64
วิธีการเพิ่ม Static ARP
netsh interface ipv4 add neighbors "Local Area Connection" "192.168.100.1" "00-1e-5a-a5-2b-c7"
โดย
Local Area Connection คือ Network Interface ที่ใช้ในการเชื่อมต่อ
192.168.100.1 คือ IP address ที่สนใจ
00-1e-5a-a5-2b-c7 คือ Mac address ของ IP address ที่สนใจ
วิธีการลบ Static ARP ของจาก ARP table
netsh interface ipv4 delete neighbors "Local Area Connection" "192.168.100.1" "00-1e-5a-a5-2b-c7"
วิธีการแสดงรายการ ARP table
arp -a
หรือ
netsh interface ipv4 show neighbors
หรือ
netsh interface ipv4 show neighbors "Local Area Connection"
ทดสอบโดยการ reboot พบว่า ARP ยังคงอยู่ในระบบ
arp -s IP_address MAC_address
เมื่อเครื่อง reboot ค่าที่กำหนดไว้ก็จะหายไปด้วย ซึ่งวิธีการแก้ไขก็อาจโดยการสร้างเป็น .bat เพื่อให้ทำงานทุกครั้งที่เปิดเครื่อง แต่ในกรณีนี้จะใช้วิธี netsh โดยสามารถทำได้ดังนี้
ระบบทดสอบ
OS: Microsoft Windows 7 Professional x64
วิธีการเพิ่ม Static ARP
netsh interface ipv4 add neighbors "Local Area Connection" "192.168.100.1" "00-1e-5a-a5-2b-c7"
โดย
Local Area Connection คือ Network Interface ที่ใช้ในการเชื่อมต่อ
192.168.100.1 คือ IP address ที่สนใจ
00-1e-5a-a5-2b-c7 คือ Mac address ของ IP address ที่สนใจ
วิธีการลบ Static ARP ของจาก ARP table
netsh interface ipv4 delete neighbors "Local Area Connection" "192.168.100.1" "00-1e-5a-a5-2b-c7"
วิธีการแสดงรายการ ARP table
arp -a
หรือ
netsh interface ipv4 show neighbors
หรือ
netsh interface ipv4 show neighbors "Local Area Connection"
ทดสอบโดยการ reboot พบว่า ARP ยังคงอยู่ในระบบ
วันจันทร์ที่ 20 กันยายน พ.ศ. 2553
SNMP : ตัวอย่างการเรียกดูข้อมูลของเครื่องเป้าหมายผ่าน Protocol SNMP
ในกรณีที่เราเปิดการใช้งาน SNMP ไว้ แต่ไม่มีการป้องกันการเข้าถึงนั้น อาจทำเป็นช่องโหว่ทำให้ผู้บุกรุกเข้ามาหาข้อมูลเพื่อบุกรุกเครื่องเราได้ (FootPrinting) ดังตัวอย่าง
กำหนดให้
Target OS : Microsoft Windows 7
HostName = MSW-server
snmp-community string = MyServer
Hacker OS : Ubuntu 9.10
HostName = hacker-server
hacker-server$ snmwalk -v 2c -c MyServer MSW-server system
SNMPv2-MIB::sysDescr.0 = STRING: Hardware: x86 Family 15 Model 72 Stepping 2 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1013543) 2:48:55.43
SNMPv2-MIB::sysContact.0 = STRING: admin@MSW-server
SNMPv2-MIB::sysName.0 = STRING: Windows-Server
SNMPv2-MIB::sysLocation.0 = STRING: Secure, IDC
SNMPv2-MIB::sysServices.0 = INTEGER: 79
จากตัวอย่างข้างต้นจะเห็นว่า สามารถเรียกดูข้อมูลของ OS ได้ จากนั้นลองทดสอบเรียกดูว่าเครื่องเป้าหมายติดตั้งโปรแกรมอะไรบ้าง
hacker-server$ snmpwalk -v 2c -c MyServer MSW-server SWInstalledName
HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: "Vuze"
HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: "Adobe AIR"
HOST-RESOURCES-MIB::hrSWInstalledName.3 = STRING: "Adobe Flash Player 10 ActiveX"
HOST-RESOURCES-MIB::hrSWInstalledName.4 = STRING: "Adobe Flash Player 10 Plugin"
HOST-RESOURCES-MIB::hrSWInstalledName.5 = STRING: "aMSN 0.98.3"
HOST-RESOURCES-MIB::hrSWInstalledName.6 = STRING: "avast! Free Antivirus"
HOST-RESOURCES-MIB::hrSWInstalledName.7 = STRING: "BitComet 0.70"
HOST-RESOURCES-MIB::hrSWInstalledName.8 = STRING: "Cisco Packet Tracer 5.3"
HOST-RESOURCES-MIB::hrSWInstalledName.9 = STRING: "Foxit Reader"
HOST-RESOURCES-MIB::hrSWInstalledName.10 = STRING: "GNS3 0.7.2"
HOST-RESOURCES-MIB::hrSWInstalledName.11 = STRING: "K-Lite Mega Codec Pack 5.9.0"
HOST-RESOURCES-MIB::hrSWInstalledName.12 = STRING: "Microsoft .NET Framework 4 Client Profile"
HOST-RESOURCES-MIB::hrSWInstalledName.13 = STRING: "Microsoft Visual J# 2.0 Redistributable Package - SE"
จากผลลัพธ์จะเห็นว่า สามารถแสดงรายชื่อ Software ที่อยู่บนเครื่องเป้าหมายได้
ดังนั้นในการใช้งาน SNMP ควรมีการป้องกันระบบให้ดี
กำหนดให้
Target OS : Microsoft Windows 7
HostName = MSW-server
snmp-community string = MyServer
Hacker OS : Ubuntu 9.10
HostName = hacker-server
hacker-server$ snmwalk -v 2c -c MyServer MSW-server system
SNMPv2-MIB::sysDescr.0 = STRING: Hardware: x86 Family 15 Model 72 Stepping 2 AT/AT COMPATIBLE - Software: Windows Version 6.1 (Build 7600 Multiprocessor Free)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.311.1.1.3.1.1
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1013543) 2:48:55.43
SNMPv2-MIB::sysContact.0 = STRING: admin@MSW-server
SNMPv2-MIB::sysName.0 = STRING: Windows-Server
SNMPv2-MIB::sysLocation.0 = STRING: Secure, IDC
SNMPv2-MIB::sysServices.0 = INTEGER: 79
จากตัวอย่างข้างต้นจะเห็นว่า สามารถเรียกดูข้อมูลของ OS ได้ จากนั้นลองทดสอบเรียกดูว่าเครื่องเป้าหมายติดตั้งโปรแกรมอะไรบ้าง
hacker-server$ snmpwalk -v 2c -c MyServer MSW-server SWInstalledName
HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: "Vuze"
HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: "Adobe AIR"
HOST-RESOURCES-MIB::hrSWInstalledName.3 = STRING: "Adobe Flash Player 10 ActiveX"
HOST-RESOURCES-MIB::hrSWInstalledName.4 = STRING: "Adobe Flash Player 10 Plugin"
HOST-RESOURCES-MIB::hrSWInstalledName.5 = STRING: "aMSN 0.98.3"
HOST-RESOURCES-MIB::hrSWInstalledName.6 = STRING: "avast! Free Antivirus"
HOST-RESOURCES-MIB::hrSWInstalledName.7 = STRING: "BitComet 0.70"
HOST-RESOURCES-MIB::hrSWInstalledName.8 = STRING: "Cisco Packet Tracer 5.3"
HOST-RESOURCES-MIB::hrSWInstalledName.9 = STRING: "Foxit Reader"
HOST-RESOURCES-MIB::hrSWInstalledName.10 = STRING: "GNS3 0.7.2"
HOST-RESOURCES-MIB::hrSWInstalledName.11 = STRING: "K-Lite Mega Codec Pack 5.9.0"
HOST-RESOURCES-MIB::hrSWInstalledName.12 = STRING: "Microsoft .NET Framework 4 Client Profile"
HOST-RESOURCES-MIB::hrSWInstalledName.13 = STRING: "Microsoft Visual J# 2.0 Redistributable Package - SE"
จากผลลัพธ์จะเห็นว่า สามารถแสดงรายชื่อ Software ที่อยู่บนเครื่องเป้าหมายได้
ดังนั้นในการใช้งาน SNMP ควรมีการป้องกันระบบให้ดี
FreeBSD, MRTG : การติดตั้ง MRTG เพื่อดูปริมาณการใช้งาน Network Traffic
ระบบที่ใช้
OS : FreeBSD 8.1 amd64
เริ่มด้วยการติดตั้ง snmpd ก่อน
server# cd /usr/ports/net-mgmt/net-snmp
server# make install
server# rehash
สร้างไฟล์ Configuration ของ SNMP
server# mkdir /etc/snmp
server# echo "rocommunity myServer" > /etc/snmp/snmpd.conf
เพิ่มบรรทัดต่อไปนี้เข้าไปใน /etc/rc.conf
snmpd_enable="YES"
snmpd_conffile="/etc/snmp/snmpd.conf"
สั่ง start SNMP โดย
server# /usr/local/etc/rc.d/snmpd start
ทดสอบการใช้งาน SNMP โดย
server# snmpwalk -v 2c -c myServer 127.0.0.1
ถ้าได้ output ที่ไม่ใช่ Error ออกมาก็เป็นอันใช้ได้
ต่อไปติดตั้ง MRTG
server# cd /usr/ports/net-mgmt/mrtg
server# make install
server# rehash
จากนั้นทำการสร้าง MRTG Configuration file ดังนี้
server# cfgmaker --global 'WorkDir: /www/mrtg' \
--global 'Options[_]: growright,bits' \
--output /usr/local/etc/mrtg/127.0.0.1.cfg \
myServer@127.0.0.1
หลังจากได้ Configuration file แล้ว ก็ทำการสั่งให้ MRTG ไปเก็บค่า snmp ตามที่ต้องการ ดังนี้
server# mrtg /usr/local/etc/mrtg/127.0.0.1.cfg
ทั้งนี้ เนื่องจากเป็นการใช้งานครั้งแรก อาจมี error อยู่ ซึ่งอาจต้องสั่งซ้ำๆ 2-3 ครั้ง เพื่อให้ error หมดไป ซึ่งเมื่อ error หมดไปแล้ว จะได้ output ไปอยู่ที่ /www/mrtg ตามที่ได้กำหนดไว้ในขั้นสร้างไฟล์ Configuration ซึ่งจะเรียกดู output ผ่าน web browser ตามปกติ
จากนั้นกำหนดให้ MRTG ทำงานทุกๆ 5 นาที โดยไปกำหนดที่ /etc/crontab ดังนี้
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/127.0.0.1.cfg
OS : FreeBSD 8.1 amd64
เริ่มด้วยการติดตั้ง snmpd ก่อน
server# cd /usr/ports/net-mgmt/net-snmp
server# make install
server# rehash
สร้างไฟล์ Configuration ของ SNMP
server# mkdir /etc/snmp
server# echo "rocommunity myServer" > /etc/snmp/snmpd.conf
เพิ่มบรรทัดต่อไปนี้เข้าไปใน /etc/rc.conf
snmpd_enable="YES"
snmpd_conffile="/etc/snmp/snmpd.conf"
สั่ง start SNMP โดย
server# /usr/local/etc/rc.d/snmpd start
ทดสอบการใช้งาน SNMP โดย
server# snmpwalk -v 2c -c myServer 127.0.0.1
ถ้าได้ output ที่ไม่ใช่ Error ออกมาก็เป็นอันใช้ได้
ต่อไปติดตั้ง MRTG
server# cd /usr/ports/net-mgmt/mrtg
server# make install
server# rehash
จากนั้นทำการสร้าง MRTG Configuration file ดังนี้
server# cfgmaker --global 'WorkDir: /www/mrtg' \
--global 'Options[_]: growright,bits' \
--output /usr/local/etc/mrtg/127.0.0.1.cfg \
myServer@127.0.0.1
หลังจากได้ Configuration file แล้ว ก็ทำการสั่งให้ MRTG ไปเก็บค่า snmp ตามที่ต้องการ ดังนี้
server# mrtg /usr/local/etc/mrtg/127.0.0.1.cfg
ทั้งนี้ เนื่องจากเป็นการใช้งานครั้งแรก อาจมี error อยู่ ซึ่งอาจต้องสั่งซ้ำๆ 2-3 ครั้ง เพื่อให้ error หมดไป ซึ่งเมื่อ error หมดไปแล้ว จะได้ output ไปอยู่ที่ /www/mrtg ตามที่ได้กำหนดไว้ในขั้นสร้างไฟล์ Configuration ซึ่งจะเรียกดู output ผ่าน web browser ตามปกติ
จากนั้นกำหนดให้ MRTG ทำงานทุกๆ 5 นาที โดยไปกำหนดที่ /etc/crontab ดังนี้
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/127.0.0.1.cfg
วันพฤหัสบดีที่ 2 กันยายน พ.ศ. 2553
Linux, Network : เปลี่ยนชื่อ Network Interface
ในกรณีที่ใช้ Linux มาทำเป็น Firewall นั้น บางทีจะอยากจะเปลี่ยนชื่อของ Network Interface ให้ตรงกับ Zone ในใช้งาน เพื่อให้ง่ายในการจดจำ ในกรณีที่มีหลาย Interface เช่น จากเดิม eth0 ก็ไปเป็น wan เป็นต้น
ระบบที่ทดสอบ
OS : Ubuntu Linux 10.04.1 LTS
กำหนดให้
eth0 --> wan
eth1 --> lan
eth2 --> wireless
eth3 --> dmz
ระบบเดิม
root@server:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:14:22:15:eb:ed
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xccc0 Memory:df8e0000-df900000
eth1 Link encap:Ethernet HWaddr 00:14:22:15:eb:ee
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xbcc0 Memory:df6e0000-df700000
eth2 Link encap:Ethernet HWaddr 00:01:02:58:ed:ca
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:37 Base address:0xc00
eth3 Link encap:Ethernet HWaddr 00:04:76:21:ac:96
inet addr:172.17.12.55 Bcast:172.17.12.255 Mask:255.255.255.0
inet6 addr: fe80::204:76ff:fe21:ac96/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:359 errors:0 dropped:0 overruns:1 frame:0
TX packets:173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33463 (32.6 KB) TX bytes:22815 (22.2 KB)
Interrupt:39 Base address:0xec00
ขั้นตอนการเปลี่ยน
ให้แก้ไขที่ไฟล์ /etc/udev/rules.d/70-persistent-net.rules โดยก่อนการแก้ไข ควร backup ไฟล์นี้ไว้ก่อน
root@server:/etc/udev/rules.d# cp 70-persistent-net.rules 70-persistent-net.rules.backup
จากนั้นมาดูเนื้อหาในไฟล์นี้ก่อนว่ามีอะไรน่าสนใจบ้าง
root@server:/etc/udev/rules.d# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ed", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:58:ed:ca", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:76:21:ac:96", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
จาก output จะเห็นว่า จะมีการ map หมายเลขของ MAC address เช่น ATTR{address}=="00:04:76:21:ac:96" ---> NAME="eth3"
ซึ่งเราจะมาทำการแก้ตรงนี้แหละ
root@server:/etc/udev/rules.d# vi 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ed", ATTR{type}=="1", KERNEL=="eth*", NAME="wan" <--- แก้เป็น wan จากเดิม eth0
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="lan" <--- แก้เป็น lan จากเดิม eth1
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:58:ed:ca", ATTR{type}=="1", KERNEL=="eth*", NAME="wireless" <--- แก้เป็น wireless จากเดิม eth2
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:76:21:ac:96", ATTR{type}=="1", KERNEL=="eth*", NAME="dmz" <--- แก้เป็น dmz จากเดิม eth3
จากนั้นให้ทำการแก้ไข network configuration เพื่อให้รู้จักชื่อ Interface ใหม่
root@server# vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto dmz <--- แก้เป็น dmz จากเดิม eth3
iface dmz inet static <--- แก้เป็น dmz จากเดิม eth3
address 172.17.12.55
netmask 255.255.255.0
gateway 172.17.12.1
เมื่อตรวจสอบเรียบร้อยแล้ว ก็ reboot เครื่อง
และเมื่อเครื่อง boot เสร็จแล้ว ก็ทำการตรวจสอบผลงานซะหน่อย
root@server:/# ifconfig -a
dmz Link encap:Ethernet HWaddr 00:04:76:21:ac:96
inet addr:172.17.12.55 Bcast:172.17.12.255 Mask:255.255.255.0
inet6 addr: fe80::204:76ff:fe21:ac96/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3135 errors:0 dropped:0 overruns:1 frame:0
TX packets:1038 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:317387 (309.9 KB) TX bytes:171021 (167.0 KB)
Interrupt:39 Base address:0xcc00
lan Link encap:Ethernet HWaddr 00:14:22:15:eb:ee
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xbcc0 Memory:df6e0000-df700000
wan Link encap:Ethernet HWaddr 00:14:22:15:eb:ed
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xccc0 Memory:df8e0000-df900000
wireless Link encap:Ethernet HWaddr 00:01:02:58:ed:ca
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:37 Base address:0xec00
root@server:/# ethtool dmz
Settings for dmz:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 24
Transceiver: internal
Auto-negotiation: on
Current message level: 0x00000001 (1)
Link detected: yes
ทดสอบด้วย iptables
root@server:/# iptables -A INPUT -i dmz -j ACCEPT
root@server:/# iptables -A INPUT -i lan -j ACCEPT
root@server:/#
root@server:/# iptables -nvL INPUT
Chain INPUT (policy ACCEPT 796 packets, 64226 bytes)
pkts bytes target prot opt in out source destination
57 4308 ACCEPT all -- dmz * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- lan * 0.0.0.0/0 0.0.0.0/0
แต่เมื่อทดสอบด้วย mii-tool กลับไม่รู้จักซะงั้น (ไม่เป็นไร พอรับได้)
root@server:/# mii-tool
no MII interfaces found
หมายเหตุ การเปลี่ยนชื่อ interface นั้นอาจทำให้ Application บางตัวที่สนใจแต่ชื่อ eth มีปัญหาได้ ดังนั้นควรตรวจสอบให้ดีก่อนใช้งานในระบบจริง (แต่เท่าที่ผมทดสอบในระบบของผม ไม่พบปัญหา)
ระบบที่ทดสอบ
OS : Ubuntu Linux 10.04.1 LTS
กำหนดให้
eth0 --> wan
eth1 --> lan
eth2 --> wireless
eth3 --> dmz
ระบบเดิม
root@server:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:14:22:15:eb:ed
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xccc0 Memory:df8e0000-df900000
eth1 Link encap:Ethernet HWaddr 00:14:22:15:eb:ee
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xbcc0 Memory:df6e0000-df700000
eth2 Link encap:Ethernet HWaddr 00:01:02:58:ed:ca
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:37 Base address:0xc00
eth3 Link encap:Ethernet HWaddr 00:04:76:21:ac:96
inet addr:172.17.12.55 Bcast:172.17.12.255 Mask:255.255.255.0
inet6 addr: fe80::204:76ff:fe21:ac96/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:359 errors:0 dropped:0 overruns:1 frame:0
TX packets:173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:33463 (32.6 KB) TX bytes:22815 (22.2 KB)
Interrupt:39 Base address:0xec00
ขั้นตอนการเปลี่ยน
ให้แก้ไขที่ไฟล์ /etc/udev/rules.d/70-persistent-net.rules โดยก่อนการแก้ไข ควร backup ไฟล์นี้ไว้ก่อน
root@server:/etc/udev/rules.d# cp 70-persistent-net.rules 70-persistent-net.rules.backup
จากนั้นมาดูเนื้อหาในไฟล์นี้ก่อนว่ามีอะไรน่าสนใจบ้าง
root@server:/etc/udev/rules.d# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ed", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:58:ed:ca", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:76:21:ac:96", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
จาก output จะเห็นว่า จะมีการ map หมายเลขของ MAC address เช่น ATTR{address}=="00:04:76:21:ac:96" ---> NAME="eth3"
ซึ่งเราจะมาทำการแก้ตรงนี้แหละ
root@server:/etc/udev/rules.d# vi 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ed", ATTR{type}=="1", KERNEL=="eth*", NAME="wan" <--- แก้เป็น wan จากเดิม eth0
# PCI device 0x8086:0x1076 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:14:22:15:eb:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="lan" <--- แก้เป็น lan จากเดิม eth1
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:58:ed:ca", ATTR{type}=="1", KERNEL=="eth*", NAME="wireless" <--- แก้เป็น wireless จากเดิม eth2
# PCI device 0x10b7:0x9200 (3c59x)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:76:21:ac:96", ATTR{type}=="1", KERNEL=="eth*", NAME="dmz" <--- แก้เป็น dmz จากเดิม eth3
จากนั้นให้ทำการแก้ไข network configuration เพื่อให้รู้จักชื่อ Interface ใหม่
root@server# vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto dmz <--- แก้เป็น dmz จากเดิม eth3
iface dmz inet static <--- แก้เป็น dmz จากเดิม eth3
address 172.17.12.55
netmask 255.255.255.0
gateway 172.17.12.1
เมื่อตรวจสอบเรียบร้อยแล้ว ก็ reboot เครื่อง
และเมื่อเครื่อง boot เสร็จแล้ว ก็ทำการตรวจสอบผลงานซะหน่อย
root@server:/# ifconfig -a
dmz Link encap:Ethernet HWaddr 00:04:76:21:ac:96
inet addr:172.17.12.55 Bcast:172.17.12.255 Mask:255.255.255.0
inet6 addr: fe80::204:76ff:fe21:ac96/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3135 errors:0 dropped:0 overruns:1 frame:0
TX packets:1038 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:317387 (309.9 KB) TX bytes:171021 (167.0 KB)
Interrupt:39 Base address:0xcc00
lan Link encap:Ethernet HWaddr 00:14:22:15:eb:ee
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xbcc0 Memory:df6e0000-df700000
wan Link encap:Ethernet HWaddr 00:14:22:15:eb:ed
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Base address:0xccc0 Memory:df8e0000-df900000
wireless Link encap:Ethernet HWaddr 00:01:02:58:ed:ca
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:37 Base address:0xec00
root@server:/# ethtool dmz
Settings for dmz:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 24
Transceiver: internal
Auto-negotiation: on
Current message level: 0x00000001 (1)
Link detected: yes
ทดสอบด้วย iptables
root@server:/# iptables -A INPUT -i dmz -j ACCEPT
root@server:/# iptables -A INPUT -i lan -j ACCEPT
root@server:/#
root@server:/# iptables -nvL INPUT
Chain INPUT (policy ACCEPT 796 packets, 64226 bytes)
pkts bytes target prot opt in out source destination
57 4308 ACCEPT all -- dmz * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- lan * 0.0.0.0/0 0.0.0.0/0
แต่เมื่อทดสอบด้วย mii-tool กลับไม่รู้จักซะงั้น (ไม่เป็นไร พอรับได้)
root@server:/# mii-tool
no MII interfaces found
หมายเหตุ การเปลี่ยนชื่อ interface นั้นอาจทำให้ Application บางตัวที่สนใจแต่ชื่อ eth มีปัญหาได้ ดังนั้นควรตรวจสอบให้ดีก่อนใช้งานในระบบจริง (แต่เท่าที่ผมทดสอบในระบบของผม ไม่พบปัญหา)
สมัครสมาชิก:
บทความ (Atom)