ฉันมีเซิร์ฟเวอร์ที่มีอินเตอร์เฟสอีเธอร์เน็ตหลายตัว วิธีที่ง่ายที่สุดในการบอกอินเตอร์เฟสการเชื่อมต่อ TCP ขาออกจะเป็นอย่างไร ผลลัพธ์ของ "netstat -rn" เป็นภาษากรีกสำหรับฉันดังนั้นหากคำตอบของคุณคือ "ดูตารางเส้นทางท้องถิ่น" โปรดระบุรายละเอียดและชัดเจน
ฉันมีเซิร์ฟเวอร์ที่มีอินเตอร์เฟสอีเธอร์เน็ตหลายตัว วิธีที่ง่ายที่สุดในการบอกอินเตอร์เฟสการเชื่อมต่อ TCP ขาออกจะเป็นอย่างไร ผลลัพธ์ของ "netstat -rn" เป็นภาษากรีกสำหรับฉันดังนั้นหากคำตอบของคุณคือ "ดูตารางเส้นทางท้องถิ่น" โปรดระบุรายละเอียดและชัดเจน
คำตอบ:
สำหรับฉันฉันสามารถมองเห็นสิ่งที่อินเตอร์เฟซที่ผมได้มีสิทธิใช้netstat -rnหรือroute -n
cyrex@cyrex:~$ netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.48.0.1      0.0.0.0         UG        0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
192.48.0.0      0.0.0.0         255.255.224.0   U         0 0          0 eth0
หรือ netstat -r
cyrex@cyrex:~$ netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         192-48-0-1.dyn. 0.0.0.0         UG        0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
192.48.0.0      *               255.255.224.0   U         0 0          0 eth0
ในทั้งสองกรณีฉันสามารถเห็นชื่อของส่วนต่อท้ายในกรณีนี้มันคือeth0
ข้อมูลที่กำหนดโดยคำสั่งนี้เป็นไปตาม (แหล่งที่พบที่นี่ ):
ปลายทาง - เครือข่ายปลายทางหรือโฮสต์ปลายทาง
เกตเวย์ - ที่อยู่เกตเวย์หรือ*ถ้าไม่มีการตั้งค่า  
Genmask - netmask สำหรับเน็ตปลายทาง
 255.255.255.255 for the host destination.
 0.0.0.0 for the default route.  
ธง - ธงที่เป็นไปได้รวมถึง:
 U (route is up)  
 H (target is a host)  
 G (using gateway)  
 R (reinstate route for dynamic routing)  
 D (dynamically installed by daemon or redirect)  
 M (modified from routing daemon or redirect)  
 A (installed by addrconf)  
 C (cache entry)  
 ! (reject route)  
MSS - ขนาดเซกเมนต์สูงสุดเริ่มต้นสำหรับการเชื่อมต่อ TCP ผ่านเส้นทางนี้
หน้าต่าง - ขนาดหน้าต่างเริ่มต้นสำหรับการเชื่อมต่อ TCP ผ่านเส้นทางนี้
irtt - Initial RTT (เวลาไปกลับ) เคอร์เนลใช้สิ่งนี้เพื่อคาดเดาเกี่ยวกับพารามิเตอร์โปรโตคอล TCP ที่ดีที่สุดโดยไม่รอคำตอบ (อาจช้า)
Iface - อินเตอร์เฟสที่แพ็กเก็ตสำหรับเส้นทางนี้จะถูกส่ง
สาขาอื่น ๆ สามารถ:
Metric - ระยะทางไปยังเป้าหมาย (โดยปกติจะนับเป็นฮ็อพ) ไม่ได้ถูกใช้โดยเคอร์เนลล่าสุด แต่อาจต้องการโดยการกำหนดเส้นทาง daemons
Ref - จำนวนการอ้างอิงไปยังเส้นทางนี้ (ไม่ใช้ในเคอร์เนล Linux)
ใช้ - จำนวนการค้นหาเส้นทาง ขึ้นอยู่กับการใช้ -F และ -C นี่จะเป็นเส้นทางแคชที่ขาดหายไป (-F) หรือ Hit (-C)
HH (แคชเท่านั้น) - จำนวนรายการ ARP และเส้นทางแคชที่อ้างถึงแคชส่วนหัวของฮาร์ดแวร์สำหรับเส้นทางแคช นี่จะเป็น -1 หากไม่จำเป็นต้องระบุที่อยู่ฮาร์ดแวร์สำหรับอินเทอร์เฟซของเส้นทางที่แคช (เช่นแท้จริง)
Arp (แคชเท่านั้น) - ไม่ว่าที่อยู่ฮาร์ดแวร์สำหรับเส้นทางแคชจะทันสมัยหรือไม่
ตอนนี้คำถามที่อยู่ในมือ วิธีที่ง่ายที่สุดที่ผมจำได้ในขณะนี้ (เช่นเคยมีหลายวิธีในการทำในสิ่งเดียวกัน) iptrafคือการใช้ เพียงติดตั้ง:
sudo apt-get install iptraf  
และเรียกใช้กับราก priveleges: sudo iptraf
ในเมนูของiptrafเลือกIP ตรวจสอบการจราจรและจากนั้นเลือกทุกการเชื่อมต่อ ที่ควรแสดงการเชื่อมต่อ TCP ทั้งหมดและอินเทอร์เฟซที่เกี่ยวข้อง มันเป็นพื้นฐานซึ่งเป็นสิ่งที่ดีสำหรับวัตถุประสงค์ในการตรวจสอบ
คุณสามารถเคียวรีตารางการกำหนดเส้นทางเคอร์เนลโดยใช้ipคำสั่ง คำroute getสั่งย่อยจะบอกคุณอย่างชัดเจนว่าเคอร์เนลจะกำหนดเส้นทางแพ็คเก็ตไปยังที่อยู่ปลายทางอย่างไร:
 $ ip route get to 10.0.2.2
 10.0.2.2 dev eth0  src 10.0.2.15
แต่ทว่า
$ ip route get to 192.168.3.5
192.168.3.5 via 10.0.2.2 dev eth0  src 10.0.2.15
และ
$ ip route get to 127.0.1.1
local 127.0.1.1 dev lo  src 127.0.0.1
route