ได้สามารถทำได้ถ้าคุณมี * Nix pc บนเครือข่าย 192.168.1.0/24 มันสามารถทำได้ทั้ง Unix และ Linux แต่ฉันจะให้รายละเอียดเฉพาะสำหรับพีซี Linux
กลยุทธ์พื้นฐานคือการสร้างอินเทอร์เฟซเสมือนบนพีซี Linux (ซึ่งจะทำหน้าที่เป็นสื่อกลาง) ซึ่งเราจะกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดไปยังเซิร์ฟเวอร์ PS3 เราใช้อินเทอร์เฟซเสมือนเพื่อให้พอร์ตทั้งหมดใน NIC ปกติว่าง
ก่อนอื่นคุณต้องอนุญาตการส่งต่อ IPv4 และยับยั้งการกรองย้อนกลับเส้นทาง:
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
คุณสามารถได้รับผลลัพธ์เดียวกันโดยไม่แสดงข้อคิดเห็นและการตั้งค่าค่าที่ต้องการของรายการที่เกี่ยวข้องในไฟล์ /etc/sysctl.conf จากนั้นเรียกใช้:
sysctl -p
โปรดทราบว่าเอฟเฟกต์นี้เป็นแบบถาวรในขณะที่เสียงสะท้อนจะหายไปหลังจากรีบูต
ตอนนี้เราสร้างอินเทอร์เฟซเสมือน
ip link add link eth0 mac0 address 56:61:4f:7c:77:db type macvlan
ip link set mac0 up
dhclient mac0
จากนั้นเราเก็บที่อยู่ IP ของmac0อินเตอร์เฟสเสมือนที่สร้างขึ้นใหม่ในตัวแปรเชลล์:
IPMAC0=$(ifconfig | grep -A 1 mac0 | grep inet | awk '{print $2}' | awk -F ":" '{print $2}')
ตอนนี้เรากำหนดเส้นทางนโยบาย:
ip route add default via Your_Gateway_Address dev mac0 table 200
ip route add Your_LAN_net dev mac0 src $IPMAC0 table 200
ip route del Your_LAN_net dev mac0 table main
ip rule add from $IPMAC0 table 200
ตอนนี้เราใช้ iptables เพื่อเปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดไปยัง PS3
iptables -t nat -A PREROUTING -d $IPMAC0 -j DNAT --to-destination 10.0.0.116
iptables -t nat -A POSTROUTING -d 10.0.0.116 -j MASQUERADE
สุดท้ายคุณไม่สามารถคาดหวังความเร็วที่มากเกินไป: แพ็คเก็ตจะถูกกำหนดเส้นทางใหม่บีบอัดเข้ารหัสและลดระดับ (ยกเลิกการเข้ารหัสคลายการบีบอัด) ดังนั้นบางครั้งจะใช้เวลาในข้อความเหล่านี้