Como definir qual IP usar para uma solicitação HTTP?

5

Esta é provavelmente uma pergunta boba.
Estou fazendo algumas solicitações http usando wget da linha de comando e quero que essas conexões sejam feitas através de um IP específico dos 4 IPs que meu servidor possui.
Esses pedidos de http vão para um intervalo específico de IPs, então eu só quero que eles sejam roteados de forma diferente. As 4 interfaces no meu servidor são eth0 , eth0:0 , eth0:1 , eth0:2 .

Eu tentei com o seguinte comando:
route add -net 192.164.10.0/24 dev eth0:0

Mas quando vejo a tabela de roteamento, ele diz:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.164.10.0    0.0.0.0         255.255.255.0   U         0 0          0 eth0

A interface está definida como eth0 não eth0:0 como meu comando diz.

O que estou fazendo de errado?

    
por GetFree 06.04.2013 / 05:29

3 respostas

8

wget --bind-address=192.0.2.116 http://file de man wget

    
por 06.04.2013 / 05:46
2

Se não for wget, então existe este pequeno invólucro que você usa LD_PRELOAD para inserir antes de executar qualquer comando .

Você pode usar isso para vincular, digamos, um navegador a uma interface de VLAN (falando por experiência).

    
por 02.07.2013 / 11:09
0

Você pode tentar configurar o PBR (roteamento base de política) se precisar de um roteamento mais flexível (em vez de --bind-address)

IP1='xxx.xxx.xxx.62'
IF1='eth0'
GW1='xxx.xxx.xxx.61'
P1_NET='xxx.xxx.xxx.60/30'

IP2='yyy.yyy.yyy.10'
IF2='eth0:0'
GW2='yyy.yyy.yyy.9'
P2_NET='yyy.yyy.yyy.8/30'

IP3='zzz.zzz.zzz.239'
IF3='eth0:1'
GW3='zzz.zzz.zzz.254'
P3_NET='zzz.zzz.zzz.0/24'

/sbin/ip route add $P1_NET dev $IF1 src $IP1 table ISP1
/sbin/ip route add default via $GW1 table ISP1

/sbin/ip route add $P2_NET dev $IF2 src $IP2 table ISP2
/sbin/ip route add default via $GW2 table ISP2

/sbin/ip route add $P3_NET dev $IF3 src $IP3 table ISP3
/sbin/ip route add default via $GW3 table ISP3

/sbin/ip rule add from $IP1 table ISP1
/sbin/ip rule add from $IP2 table ISP2
/sbin/ip rule add from $IP3 table ISP3

/sbin/ip ru add fwmark 1 lookup ISP1 prio 100
/sbin/ip ru add fwmark 2 lookup ISP2 prio 200
/sbin/ip ru add fwmark 3 lookup ISP3 prio 300

/sbin/ip route add default via $GW1
/sbin/ip route flush cache

E, em seguida, use algo como seguir

iptables -t mangle -I OUTPUT -p tcp --dport 80 -j MARK --set-mark 1
    
por 02.07.2013 / 17:57