내 소규모 개인 네트워크에는 파이프의 "보장" 부분을 갖고 싶은 장치(IP 주소 192.168.0.240)가 있습니다. 이런 이유로 나는 주목을 받아왔다.이 서버 오류 기사모양을 만들다출구내 인터페이스에서. 인터페이스에서 해냈습니다만약 b0, 나도 똑같은 짓을 했어이더넷 1이 기사에서 논의한대로. 송신 트래픽이더넷 1예상대로 작동하고 있습니다(이를 확인하려면 tc -s class show dev eth1). 그러나 ifb0 클래스에 대한 통계를 보면 이를 통과하는 바이트나 패킷이 없습니다.
# tc -s class show dev ifb0
class htb 1:1 root rate 950000Kbit ceil 950000Kbit burst 120293b cburst 120293b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 1013 ctokens: 1013
class htb 1:10 parent 1:1 prio 1 rate 10000Kbit ceil 25000Kbit burst 2850b cburst 4725b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 2280 ctokens: 1512
class htb 1:20 parent 1:1 leaf 8003: prio 2 rate 900000Kbit ceil 950000Kbit burst 114075b cburst 120293b
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
lended: 0 borrowed: 0 giants: 0
tokens: 1014 ctokens: 1013
규칙은 다음과 같습니다.
echo Changing MTU of ingress interface to that of eth1
eth1Mtu=$(cat /sys/class/net/eth1/mtu)
echo ${eth1Mtu} > /sys/class/net/ifb0/mtu
# This little bit of redirection magic is taken from https://serverfault.com/a/386791
echo Adding ingress qdisc to the eth1 interface
tc qdisc add dev eth1 handle ffff: ingress
tc filter add dev eth1 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
echo Adding egress logic to the pseudo interface
tc qdisc add dev ifb0 root handle 1: htb default 20
tc class add dev ifb0 parent 1: classid 1:1 htb rate 950mbit
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 10mbit ceil 25mbit prio 1
tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 900mbit ceil 950mbit prio 2
tc qdisc add dev ifb0 parent 1:20 sfq
tc filter add dev ifb0 parent 1: protocol ip prio 1 u32 match ip src 192.168.0.240/32 flowid 1:10
트래픽이 가짜 미러 인터페이스를 통해 라우팅되지 않도록 내가 무엇을 잘못하고 있습니까?
편집하다
한 응답자는 이러한 규칙을 시도했고 예상대로 트래픽 라우팅을 보여주었습니다. 이는 다음을 포함해야 한다고 생각하게 합니다. 이는 Red Hat EL 5(CentOS 5: Kernel 2.6.18-348.18.1.el5)에서 수행되었습니다. 나는 그것이 아주 아주 오래되었다는 것을 압니다. 하지만 운영체제를 변경할 수는 없습니다.