คำถามติดแท็ก linux-networking

Linux Networking หมายถึงฟังก์ชั่นเครือข่ายใด ๆ ที่ดำเนินการโดยเซิร์ฟเวอร์ที่ใช้ Linux เซิร์ฟเวอร์ Linux ที่ทำงานเป็นเราเตอร์หรือไฟร์วอลล์เป็นแอพพลิเคชั่นทั่วไป

3
เปลี่ยนเส้นทางเอาต์พุตของ mysqldump ไปยัง scp
ฉันทำงานกับ linux pro เมื่อหลายปีก่อนซึ่งทำเคล็ดลับได้ดี เขาสามารถทำmysqldump แต่เปลี่ยนเส้นทางออกกับการเชื่อมต่อ SCP / SSH มากกว่าการเขียนไปยังดิสก์ พวกเราใช้ความเงียบเล็กน้อยที่ฉันเคยทำงาน แต่ฉันจำไม่ได้ว่าจะทำเช่นนี้อีกต่อไป ตอนนี้ฉันประสบกับปัญหาที่ฮาร์ดไดรฟ์ในเซิร์ฟเวอร์ของฉันอยู่ในช่วงขาสุดท้ายและสำหรับการใช้งานแบบเข้มข้นเพื่อการติดตั้งอย่างถาวรเป็นแบบอ่านอย่างเดียว ฉันหวังว่าจะใช้การใช้เล่ห์เหลี่ยมบรรทัดคำสั่งนี้เพื่อยังคงสามารถสำรองฐานข้อมูลของฉันไปยังเซิร์ฟเวอร์ใหม่เนื่องจากการเขียนดัมพ์ไปยัง diska nd ถ่ายโอนท้องถิ่นมันชัดเจนจากคำถาม นี่เป็นเคล็ดลับเล็ก ๆ น้อย ๆ ที่เป็นไปได้จริงหรือ? ถ้าเป็นไวยากรณ์คืออะไร? ฉันได้รับรู้ตั้งแต่เนื่องจากปัญหาระบบไฟล์แบบอ่านอย่างเดียวฉันพบว่าฉันไม่สามารถเชื่อมต่อกับ mysql เพื่อถ่ายโอนข้อมูลได้ แต่ฟีดของคุณกลับมาเยี่ยมมากและหวังว่าจะใช้กับคนอื่นในอนาคต

1
SynProxy ไม่สามารถส่งคืนแพ็กเก็ต syn ack ด้วยโทโพโลยีสะพานคู่แบบอสมมาตร
ฉันมีโทโพโลยีสะพานคู่แบบอสมมาตรตามที่แสดงด้านล่างเมื่อฉันเชื่อมต่อจาก 172.16.11.5 และ 172.16.10.6 ด้วย ssh แต่ฉันไม่สามารถเชื่อมต่อได้เนื่องจาก SynProxy ------- | | ---o--- 172.16.11.5 | | -----o----- 172.16.11.6 | | | | default gw 1.1.1.1 | | 1.1.1.2/30 --o----o--- 2.2.2.2/30 | | | | | | (enp10s0f0) ----o----o----- | | | XXX | | | | br1 br0 | synproxy | …

2
การร้องขอ arp ไม่สามารถมองเห็นได้โดยโหนดที่เฉพาะเจาะจง
ฉันสร้างโฆษณา wlan แบบเปิดโดยใช้iwconfig(ฉันมีปัญหาเดียวกันกับwpa_supplicantเช่นกัน) มี 4 โหนดบนเครือข่ายตามที่เห็นในรูปด้านล่าง โหนดรันอูบุนตู 12.04 และเดเบียนบีบและมี 3.7.1, 3.5 และ 3.2 เมล็ด ฉันใช้ usb dongle ยี่ห้อต่างๆ (TP link และ ZCN) สองยี่ห้อที่ทุกคนมีชิปเซ็ตและath9k_htcไดรเวอร์AR9271 (นี่คือlsusb outputและoutput ethtool ) ปัญหาที่ฉันพบคือสองโหนด ( 10.0.0.2และ10.0.0.5) ที่มีลิงค์ TP usb wifi dongles สามารถ ping โหนดใด ๆ บนเครือข่ายและในทางกลับกัน อย่างไรก็ตามโหนดอื่น ๆ ( 10.0.0.6และ10.0.0.7) ที่มี ZCN wifi dongle ไม่สามารถ ping …

5
tc u32 - วิธีจับคู่โปรโตคอล L2 ในเมล็ดล่าสุดได้อย่างไร
ฉันมีรูปที่ดีพร้อมตัวกรองที่ถูกแฮชสร้างขึ้นที่สะพานลินุกซ์ ในระยะสั้นbr0เชื่อมต่อexternalและinternalอินเตอร์เฟซทางกายภาพแพ็คเก็ตที่ติดแท็ก VLAN จะเชื่อมโยง "โปร่งใส" (ฉันหมายถึงไม่มีการเชื่อมต่อ VLAN อยู่ที่นั่น) ตอนนี้เมล็ดที่แตกต่างกันทำแตกต่างกัน ฉันอาจผิดกับช่วง verions เคอร์เนลที่แน่นอนโปรดยกโทษให้ฉัน ขอบคุณ 2.6.26 ดังนั้นในเดเบียน 2.6.26 และสูงกว่า (มากถึง 2.6.32 ฉันเชื่อ) --- งานนี้: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200 ที่นี่ "เคอร์เนล" ตรงกับสองไบต์ในฟิลด์ "โพรโทคอล" กับ 0x8100 แต่นับจุดเริ่มต้นของแพ็กเก็ต …

1
NAPI เทียบกับ Adaptive Interrupts
ใครช่วยอธิบายหน่อยได้ไหมว่าเทคโนโลยีสองอย่างต่อไปนี้ถูกใช้เพื่อลดค่าใช้จ่ายของอินเตอร์รัปต์ภายใต้โหลดเครือข่ายสูง Adaptive-rx / Adaptive-tx และ Napi; ฉันจะขอบคุณคำตอบที่อธิบายถึงความแตกต่างใกล้กับระดับที่มาของเคอร์เนล linux หรือไม่ นอกจากนี้ฉันอยากได้ยินวิธีการบังคับให้ NIC เข้าสู่โหมดการโพล / ขัดจังหวะการรวมตัวกันที่โหลดที่ ~ 400Mbps พื้นหลังเพิ่มเติม: ปัญหาน่าจะเป็นที่ไดรเวอร์ bnx2 และ e1000 ไม่สนใจคำสั่ง "ethtool -C adaptive-rx on" อาจเป็นเพราะไดรเวอร์เหล่านี้ไม่รองรับการขัดจังหวะแบบปรับตัว ถึงแม้ว่าคู่มืออ้างอิงของ Broadcom Programmer กล่าวว่าคุณลักษณะนี้ควรได้รับการสนับสนุนโดยฮาร์ดแวร์ BCM5709 NIC ดังนั้นฉันจึงตัดสินใจลอง NAPI และลดน้ำหนักจาก 64 เป็น 16 ในการเรียกใช้ฟังก์ชัน netif_napi_add () เพื่อบังคับให้ NIC ในโหมดการโพลภายใต้ภาระที่ต่ำกว่ามาก แต่น่าเสียดายที่ไม่ได้ผล ฉันเดาว่า NAPI ไม่ต้องการการสนับสนุนฮาร์ดแวร์พิเศษใน NIC …

2
แขกผู้เข้าพักบูต PXE Virtualbox ในโหมดเครือข่ายภายใน
ฉันไม่แน่ใจว่านี่เป็นเพียงแพคเกจเฉพาะของ distro ของฉันหรือเป็นข้อ จำกัด vbox ดังนั้นความช่วยเหลือใด ๆ จะได้รับการชื่นชม ตกลงดังนั้นฉันมีเครือข่ายของ VM โดยที่หนึ่ง VM ทำหน้าที่เป็น NAT สำหรับ VM อื่น ๆ ในเครือข่าย "ภายใน" VMs ตัวใดตัวหนึ่งกำลังเรียกใช้เซิร์ฟเวอร์ DHCP & TFTP และฉันเพียงแค่ต้องบูต VMs อื่น ๆ ออกจากเซิร์ฟเวอร์นี้ แต่สิ่งที่ฉันได้รับการเริ่มต้น VM เมื่อเริ่มระบบจากเครือข่ายคือ "ร้ายแรง: ไม่สามารถอ่านได้จากสื่อสำหรับบูต! หยุด" นี่คือคินคิลจอยเนื่องจาก vbox นั้นค่อนข้างใช้งานและทดสอบได้ง่าย แต่ฉันไม่สามารถแก้ไขข้อผิดพลาดนี้ได้ ช่วยด้วย ?

2
ฉันจะวัดการใช้งานเครือข่ายสะสมของกระบวนการตั้งแต่เริ่มต้นจนถึงสิ้นสุด
ฉันต้องการวัดจำนวนแบนด์วิดท์ที่git pullใช้โดยเฉพาะอย่างยิ่งโดย prefixing คำสั่ง git กับโปรแกรมที่ต้องการเช่นnettally git pull อีกวิธีหนึ่งมีวิธีลับๆล่อๆในการสะสมข้อมูล nethogs / wireshark และเพิ่มตัวเลขหลังการประหารชีวิตหรือไม่? ขอบคุณ

2
Debian 7 IPv6 link local address ถูกตั้งค่าอย่างไร?
ดูเหมือนว่าเมื่อ dhclient ทำงานบน eth0 ฉันได้รับที่อยู่ IPv4 จากเซิร์ฟเวอร์ DHCP และขอบเขต: เชื่อมโยงที่อยู่ IPv6 ที่เชื่อมโยงกับ eth0: inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link แต่ฉันไม่เห็นจาก dhclient-script เกี่ยวกับการเพิ่มที่อยู่นั้น ในอินเทอร์เฟซอื่นที่มีที่อยู่ IP แบบคงที่ฉันต้องการเพิ่มที่อยู่ IPv6 ในเครื่องของลิงก์และฉันสงสัยว่ามีคำสั่งทั่วไปให้ทำเช่นนั้นโดยไม่ทราบว่า mac แก้ไข: ดูเหมือนว่าเคอร์เนลจะกำหนดที่อยู่ภายในการเชื่อมโยงเมื่อคุณทำ "ip link set dev ethX up" หรือ "ifconfig ethX up" อย่างไรก็ตามในกรณีของฉันฉันมีสายเคเบิลเชื่อมต่อกับอินเทอร์เฟซที่ DHCP'ing และไม่มีสายเคเบิลเสียบเข้ากับอินเทอร์เฟซที่ฉันตั้งค่าแบบคงที่ ไม่สามารถยืนยันได้จนถึงวันจันทร์ แต่ฉันเดาว่าเคอร์เนลไม่ได้กำหนดที่อยู่ในการเชื่อมโยงไปยังอินเทอร์เฟซหากไม่มีลิงก์

2
เหตุใดการเชื่อมต่อในสถานะ FIN_WAIT2 จึงไม่ถูกปิดโดยเคอร์เนล Linux
ฉันมีปัญหาในกระบวนการระยะยาวที่เรียกว่าKube-พร็อกซี่เป็นส่วนหนึ่งของKubernetes ปัญหาคือบางครั้งการเชื่อมต่อที่เหลืออยู่ในสถานะ FIN_WAIT2 $ sudo netstat -tpn | grep FIN_WAIT2 tcp6 0 0 10.244.0.1:33132 10.244.0.35:48936 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:48340 10.244.0.35:56339 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:52619 10.244.0.35:57859 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:33132 10.244.0.50:36466 FIN_WAIT2 14125/kube-proxy การเชื่อมต่อเหล่านี้สแต็คเมื่อเวลาผ่านไปทำให้กระบวนการทำงานผิดปกติ ฉันรายงานปัญหาไปยังตัวติดตามข้อบกพร่องของ Kubernetes แล้ว แต่ฉันต้องการที่จะเข้าใจว่าทำไมการเชื่อมต่อดังกล่าวจึงไม่ถูกปิดโดยเคอร์เนล Linux ตามเอกสาร (การค้นหา tcp_fin_timeout) การเชื่อมต่อในสถานะ FIN_WAIT2 ควรปิดโดยเคอร์เนลหลังจาก …

3
หยุดจีนไม่ให้เชื่อมต่อกับเซิร์ฟเวอร์ Google Compute Engine ของฉัน
บริษัท ของฉันมีเซิร์ฟเวอร์ Google Compute Engine ที่โฮสต์ในอเมริกาเหนือ เราได้รับที่อยู่ IP จีนจำนวนมากที่ส่งคำขอไปยังพอร์ต 11 ซึ่งทำให้เราต้องเสียเงินสำหรับการเข้าใช้ ไฟร์วอลล์ของเราบล็อกการเชื่อมต่อทั้งหมดไปยังประเทศจีนแล้วเนื่องจากพวกเขาไม่มีธุรกิจที่สามารถเข้าถึงแอปพลิเคชันของเรา มีวิธีละเว้นการเชื่อมต่อเหล่านี้อย่างสมบูรณ์หรือมีการบล็อกในลักษณะที่พวกเขาจะไม่กินแบนด์วิธหรือไม่

1
Netstat ค้าง: ทำไม
บางครั้ง (ไม่บ่อยเกินไป) เมื่อฉันพิมพ์ "netstat" จะใช้เวลากลับไป 5 วินาที ในขณะที่เวลาอื่นทันที ฉันเฝ้าสังเกตการณ์นี้เป็นเวลาหลายสัปดาห์บนเซิร์ฟเวอร์ของฉัน (CentOS 6.4) แต่ฉันไม่เข้าใจว่าทำไม! ใครช่วยอธิบายได้บ้าง

1
สร้างตัวโหลดบาลานซ์ลินุกซ์แบบหลาย homed พร้อมการเชื่อมต่ออินเทอร์เน็ตสองจุดและการเชื่อมต่อ LAN หนึ่งจุด
ตกลง ... นี่อาจจะเป็นคำตอบโชคไม่ดีที่ฉันไม่พบอะไรที่ดูเหมือนว่ามันอาจจะเป็นความละเอียด ฉันได้ดูหน้าเหล่านี้แล้วและพวกเขามีข้อมูลที่เป็นประโยชน์ แต่ไม่ได้แก้ปัญหาให้สมบูรณ์: โหลดบาลานซ์ & NAT-ing เชื่อมต่อ ISP หลายรายการบน Linux สองการเชื่อมต่ออินเทอร์เน็ตและ 1 NIC เป็นไปได้หรือไม่ การเข้าถึงแบบแบ่ง Linux (การเชื่อมต่ออินเทอร์เน็ตหลายจุดพร้อมภาระสมดุล) linux firewall + load balance การเชื่อมต่อ ISP ฉันจะใช้เดเบียน 8, Ubuntu 16.04 เดสก์ท็อปหรือเซิร์ฟเวอร์ Ubuntu 16.04 ตกลงดังนั้นฉันจะมี NIC สามตัวติดตั้งสองกิกะบิตและการเชื่อมต่อ LAN 100 mbps การเชื่อมต่อ ISP จะใช้การ์ด gigabit LAN ผ่านการตรวจสอบความถูกต้องของ PPPoE บน nics ทั้งสอง (หากเป็นไปได้ยิ่งกว่านั้นเป็นอย่างอื่นฉันจะชำระสำหรับโหมดการเชื่อมต่อที่ไม่ใช่ในโมเด็ม …

1
วิธีแก้จุดบกพร่องเครือข่าย linux: มีการใช้ที่อยู่แล้ว
ฉันมีกล่อง Slackware linux ที่ฉันไม่สามารถเริ่มบริการใด ๆ ที่ฟังพอร์ตใดพอร์ตหนึ่งบน localhost โดยใช้ strace ฉันพบว่าข้อผิดพลาดเกิดขึ้นในการbind()โทรและข้อผิดพลาดคือEADDRINUSE (Address already in use): bind(3, {sa_family=AF_INET, sin_port=htons(874), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EADDRINUSE (Address already in use) สิ่งนี้เกิดขึ้นกับกระบวนการใด ๆ ที่ฉันพยายามเริ่มฟังพอร์ตนั้นดังนั้นจึงไม่เกี่ยวข้องกับกระบวนการเอง เอาท์พุท strace strace -ff nc -l -p 874 -s 127.0.0.1ข้างต้นมาจากคำสั่ง ดังนั้นสิ่งนี้ชี้ให้เห็นว่ามีกระบวนการที่กำลังฟังบนโลคัลโฮสต์พอร์ต 874 อย่างไรก็ตามฉันไม่สามารถค้นหาได้ คำสั่งต่อไปนี้ไม่คืนสิ่งใดเลย: netstat -aplunt | grep :874 netstat -na …

4
AWS VPC + IPtables + NAT: การส่งต่อพอร์ตไม่ทำงาน
เมื่อวานนี้ฉันโพสต์คำถามที่นี่แต่ฉันคิดว่าไม่ชัดเจนเพียงพอในคำพูดของฉัน BTW คำถามนี้ไม่ซ้ำกัน ฉันมีการติดตั้ง AWS VPC ดังนี้ เป้าหมาย / ปัญหา : SSH ไปยังเซิร์ฟเวอร์ A จากอินเทอร์เน็ต และมันไม่ทำงาน เซิร์ฟเวอร์ A อยู่ในซับเน็ตส่วนตัวและด้วยเหตุนี้ฉันต้องการเปิดใช้งาน iptables NATing บนอินสแตนซ์ NAT ของฉันเพื่อที่ฉันจะสามารถ ssh ไปยัง SErver A ได้โดยตรงจากอินเทอร์เน็ต ฉันกำลังติดตามสิ่งนี้และสิ่งนี้ ฉันรันคำสั่งด้านล่างในตัวอย่าง NAT: NAT# iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 10.0.1.243:22 การส่งต่อ IP ถูกเปิดใช้งานบนอินสแตนซ์ NAT: …

4
การเปลี่ยนค่าของ / proc / sys / net / ipv4 / tcp_tw_reuse เป็นอันตรายหรือไม่?
เรามีระบบการผลิตสองระบบที่เพิ่งถูกเปลี่ยนเป็นเครื่องเสมือน มีแอปพลิเคชั่นของเราที่เข้าถึงฐานข้อมูล MySQL บ่อยครั้งและสำหรับแต่ละแบบสอบถามจะสร้างการเชื่อมต่อแบบสอบถามและยกเลิกการเชื่อมต่อ มันไม่ใช่วิธีที่เหมาะสมในการสืบค้น (ฉันรู้) แต่เรามีข้อ จำกัด ที่เราไม่สามารถหลีกเลี่ยงได้ อย่างไรก็ตามปัญหานี้คือ: ในขณะที่เครื่องเป็นโฮสต์ทางกายภาพโปรแกรมทำงานได้ดี เมื่อแปลงเป็นเครื่องเสมือนเราสังเกตเห็นปัญหาการเชื่อมต่อเป็นระยะ ๆ กับฐานข้อมูล มีอยู่ครั้งหนึ่งที่การเชื่อมต่อซ็อกเก็ต 24000+ รายการใน TIME_WAIT (บนโฮสต์ทางกายภาพที่สุดที่ฉันเห็นคือ 17000 - ไม่ดี แต่ไม่ทำให้เกิดปัญหา) ฉันต้องการให้การเชื่อมต่อเหล่านี้กลับมาใช้ใหม่เพื่อให้เราไม่เห็นปัญหาการเชื่อมต่อนั้นและ: คำถาม: มันตกลงหรือไม่ที่จะตั้งค่า tcp_tw_reuse เป็น 1? อันตรายที่ชัดเจนคืออะไร มีเหตุผลอะไรที่ฉันไม่ควรทำ? นอกจากนี้มีวิธีอื่นในการรับระบบ (RHEL / CentOS) เพื่อป้องกันไม่ให้การเชื่อมต่อจำนวนมากเข้าสู่ TIME_WAIT หรือทำให้พวกเขาถูกนำมาใช้ซ้ำ สุดท้ายนี้สิ่งที่จะเปลี่ยน tcp_tw_recycle ทำและนั่นจะช่วยฉันได้อย่างไร ล่วงหน้าขอบคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.