현재 IoT 라우터를 설정하고 있는데 연결 속도에 문제가 있습니다. 라우터 자체는 캐스케이드 라우터입니다. 내 인터넷 속도는 100Mbit이며 속도 테스트를 통해 메인 라우터에 직접 연결하여 확인되었습니다. 하지만 계단식 라우터를 통해 연결하면 10-18Mbit 사이의 연결 속도만 얻을 수 있습니다. 커널 IP 전달 또는 Iptables NAT가 잘못 구성되었을 수 있다고 생각합니다.
운영 체제는 Debian 8 커널 버전 3.4(Bananian Linux)
이고 라우터 자체는
버전 v1.4.21을 실행하는 Banana PI BPI R1 Iptables 입니다.
네트워크를 설정하기 위해 실행한 관련 명령은 다음과 같습니다.
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0.101 -j MASQUERADE
(eth0.101은 메인 라우터에 연결된 출력 인터페이스입니다.)
IP 전달은 systemctl을 통해 활성화됩니다. 라우터의 네트워크 카드가 내부 스위치를 사용하고 VLAN을 사용하여 "lan"과 "wan"을 분리해야 하기 때문에
ipv6은 완전히 비활성화됩니다. swconfig 도구를 통해 이를 수행합니다.
swconfig dev eth0 set reset 1
swconfig dev eth0 set enable_vlan 1
swconfig dev eth0 vlan 101 set ports '3 8t'
swconfig dev eth0 vlan 102 set ports '4 0 1 2 8t'
swconfig dev eth0 set apply 1
왜 이것이 NAT/전달이라고 생각합니까? 내 첫 번째 생각은 내 네트워크 카드가 더 높은 속도에 도달할 수 있다고 말해도 더 높은 속도에 도달할 수 없다는 것이었습니다. 그러나 이를 확인하기 위해 라우터에서 양말5 프록시를 실행하고 테스트를 위해 IP 전달을 비활성화했습니다. 이 양말5 프록시를 통해 속도 테스트를 실행할 때 100Mbit에 도달할 수 있었고 이것이 제가 아니라는 결론을 내릴 수 있었습니다. 네트워크로 인한 병목 현상 카드.
VLAN 인터페이스의 패킷 대기열 크기가 0이었기 때문에 늘리는 등 몇 가지 작업을 시도했지만 아무런 변화가 없었습니다.
또한 내 라우터의 CPU가 실행하기에 너무 약하다고 생각하지 않습니다. 왜 일반 ocks5 프록시로 작업할 만큼 강력하지만 iptables로 작업하기에는 너무 약할까요?
이것은 다음의 출력입니다 ifconfig
.
eth0 Link encap:Ethernet HWaddr 02:07:0b:02:15:ac
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:370503 errors:0 dropped:0 overruns:0 frame:0
TX packets:365330 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:310436570 (296.0 MiB) TX bytes:308685327 (294.3 MiB)
Interrupt:117 Base address:0xc000
eth0.101 Link encap:Ethernet HWaddr 02:07:0b:02:15:ac
inet addr:192.168.178.2 Bcast:192.168.178.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:209032 errors:0 dropped:0 overruns:0 frame:0
TX packets:171418 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:203959632 (194.5 MiB) TX bytes:102579119 (97.8 MiB)
eth0.102 Link encap:Ethernet HWaddr 02:07:0b:02:15:ac
inet addr:10.8.0.1 Bcast:10.8.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:161471 errors:0 dropped:0 overruns:0 frame:0
TX packets:193912 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:99807884 (95.1 MiB) TX bytes:204644888 (195.1 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 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:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
또한 /etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0.101
iface eth0.101 inet static
address 192.168.178.2
network 192.168.178.0
netmask 255.255.255.0
gateway 192.168.178.1
nameserver 8.8.8.8
auto eth0.102
iface eth0.102 inet static
address 10.8.0.1
network 10.8.0.0
netmask 255.255.255.0
어떤 아이디어라도 크게 감사하겠습니다.
답변1
Banana R1/Lamobo R1은 흥미로운 하드웨어이지만 단점이 너무 많습니다.
첫째, "스위치" 내부 인터페이스 대역폭이 공유됩니다. 5개의 공유 포트는 모두 이론적으로 최대 1GBps를 처리할 수 있습니다. 여기서 얻을 수 있는 공식 속도는 인터페이스당 약 300Mbit입니다.
둘째, 사용 중인 운영 체제의 장치 트리(오버레이?)에서 설정해야 합니다. 정확한 세부 정보는 기억나지 않습니다. 그렇지 않으면 매우 느려질 것입니다.
Bananian Linux는 제대로 작동하지 않는 추악한 해킹으로, 문제를 일으키고 기가비트 스위치를 제대로 설정하지 못할 수도 있습니다. 또한 Bananian은 2017년 1분기 말부터 공식적으로 더 이상 사용되지 않는 프로젝트가 되었으며 해당 보안 업데이트는 몇 달 후에 더 이상 표시되지 않습니다.
저는 한동안 Armbian에서 R1을 사용해 왔습니다. 훌륭하게 작동합니다. Realtek Wi-Fi도 물리적으로 끊어서 불안정해졌습니다.심지어사용하지 않을 때.
기계식 하드 드라이브에 전원 문제가 있을 수도 있습니다. 저는 SSD를 사용합니다.
Bananian 사용을 중단하고 ArmBian을 사용하는 것이 좋습니다. Armbian에서는 최신 커널 4.x를 사용하기 때문에 스위치 인터페이스가 다릅니다.
마지막으로 OpenWRT의 R1 버전을 사용해 보는 데 시간을 낭비하지 마십시오. 중국의 만리방화벽(Great Firewall)을 우회하기 위한 해킹으로 가득 찬 잘못된 작업입니다.
이제 R1의 특정 고려 사항을 떠나 라우팅 측면으로 이동하면 대부분의 소비자 등급 ISP 라우터에서 수행할 수 있는 최적화 중 하나는 브리지 포트를 설정하고 여기에 R1을 연결하는 것입니다. 따라서 외부 인터페이스는 공용 IP 주소를 얻게 되며 NAT는 더 이상 ISP로부터 이중 NAT를 갖지 않게 됩니다. (나도 여기서 같은 일을 하고 있어요)
ps. 여기 오신 독자 여러분. R1/R1S는 OpenWRT로 공격받을 수 있는 AP 라우터를 구입하는 데 시간과 돈을 투자할 가치가 없습니다.