Как направить somehost к другому хосту с некоторым портом на Linux?

Скажите, что я хочу направить все запросы на google.com к localhost:333, как сделать так?

3
задан 09.01.2010, 19:52

2 ответа

Маршруты Shorewall. (FAQ)

Вы хотите перенаправить все локальные запросы на установление соединения google.com к серверу, работающему в Вашей локальной зоне в 127.0.0.1 и слушающему на порте 333. Ваш локальный интерфейс является eth1.

Отказ от ответственности; Я не сделал точно этого с Shorewall, так изменили установку сервера Сквида в качестве примера:

  1. Добавьте эту запись в свой/etc/shorewall/providers файл.

    #NAME   NUMBER  MARK    DUPLICATE       INTERFACE       GATEWAY         OPTIONS
    foo     1       202     -               eth1            127.0.0.1     loose
    
  2. В/etc/shorewall/tcrules добавьте:

    #MARK    SOURCE              DEST        PROTO    DEST
    #                                                 PORT(S)
    202:P    net:google.com   0.0.0.0/0   tcp      80
    
  3. В/etc/shorewall/interfaces:

    #ZONE   INTERFACE    BROADCAST    OPTIONS
    loc     eth1         detect       routeback          
    
  4. На localhost примите меры, чтобы следующая команда была выполнена после того, как сети подойдут

    iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 333          
    
3
ответ дан 08.12.2019, 00:38

Если Вы просто хотите сделать это на единственной машине, можно отредактировать:

/etc/hosts 

и добавьте

google.com 127.0.0.1

затем перезапустите сетевые службы

/etc/rc.d/init.d/network restart

Это перенаправило бы нормальный веб-трафик к localhost:80 все же.

1
ответ дан 08.12.2019, 00:38

Теги

Похожие вопросы