wget --bind-address=192.0.2.116 http://file
de man wget
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?
wget --bind-address=192.0.2.116 http://file
de man wget
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).
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
Tags networking routing linux route