I need to add a static route such that any HTTP request to my.router.com will be routed to the configuration page of the router (i.e. the user doesn't need to know the IP address of the router they are connecting to)
"Roteamento" funciona apenas na camada IP. Ele não se importa com nada acima dele, como a camada de aplicação, que é onde o HTTP é, ou a camada de transporte, onde o conceito de "portas" e "serviços" (isto é, HTTP está na porta 80, que é um caminho para dizer que tipo de tráfego de outro tráfego) existe.
Is this possible? Can it be done by editing the /etc/hosts file
Você pode adicionar uma entrada "my.router.com" ao seu arquivo hosts
. Isso fará com que "my.router.com" seja resolvido para o endereço IP especificado nesse arquivo SE seu sistema estiver configurado para usar esse arquivo para pesquisas de DNS antes do DNS (veja em nsswitch.conf
(?) Para configurar isso no Linux) .
Claro, se um usuário inserir um endereço IP diretamente, como http://256.40.40.1
o arquivo hosts
e qualquer coisa baseada em DNS, não funciona.
or using the route command?
O que você poderia fazer com o comando route
é criar uma rota /32
estática para o endereço IP do my.router.com
real e fazer com que ele vá para o adaptador localhost. Isso faria com que o tráfego destinado a 256.40.40.1
, se esse fosse o IP real de my.router.com
, fosse para 127.0.0.1
. É claro que, se my.router.com
alterar seu IP, você precisará atualizar isso manualmente.