2015-06-09 2 views
0

У меня есть две машины, как показано ниже:DUMMYNET не соответствует по потокам

To internet<---->PC_A<----->PC_B 

PC_A имеет два интерфейса (один подключен к Интернету и других к PC_B). PC_B должен пройти через PC_A для подключения к Интернету. Я запускаю Dummynet на PC_A. PC_A имеет IP 192.168.1.1 на интерфейсе, обращенном к Интернету, и IP 10.42.0.1 на интерфейсе, стоящем перед PC_B. PC_B bas 10.42.0.2, настроенный на его интерфейсе.

У меня есть две трубы в DUMMYNET настроены следующим образом:

ipfw add pipe 1 ip from 192.168.1.1 to any 
ipfw add pipe 2 ip from any to 192.168.1.1 
ipfw pipe 1 config bw 5000Kb/s 
ipfw pipe 2 config bw 5000Kb/s 

Если я запускаю тесты пропускной способности на двух машинах (например speedtest.net), пропускная способность PC_A является именно то, что я указываю в DUMMYNET, в то время как PC_B получает неограниченная пропускная способность. Я не понимаю, как это возможно, поскольку пакеты PC_B должны пройти через его шлюз, где он будет подчиняться правилам Dummynet.

Может кто-нибудь указать мне на предложения.

Спасибо.

ответ

0

Является ли конфигурация PC_A для NAT или эта машина просто пересылает пакеты? Если первое не действует, ваши правила IPFW не будут захватывать пакеты, проходящие через интерфейс PC_B 10.42.0.2. Если этого не сделать, я бы предложил взять tcpdump на интерфейсе 192.168.1.1 на PC_A, чтобы посмотреть исходные адреса пакетов, выходящих из локальной сети.

Разработать правила IPFW, что у вас есть в месте Pipe1 и pipe2 будет соответствовать только пакеты с исходным и конечным адресами (соответственно) 192.168.1.1 ...

В зависимости от топологии сети и конфигурации маршрутизации вы можете быть в состоянии добиться того, что вы хотите без NAT, используя в/из фильтров в правилах IPFW ...

ipfw add pipe 1 ip from any to any in via em0 
ipfw add pipe 2 ip from any to any out via em0 

... однако без правильной настройки NAT, я не знаю, как вернуть трафик удается вернуться к исходной машине.

Смежные вопросы