假设我想将所有对 google.com 的请求路由到 localhost:333 ,该怎么做?
答案1
岸墙路线。(常问问题)
您想要将所有本地 google.com 连接请求重定向到在本地区域 127.0.0.1 中运行并监听端口 333 的服务器。您的本地接口是 eth1。
免责声明;我还没有对 Shorewall 进行过这样的操作,因此修改了一个示例 Squid 服务器设置:
将此条目添加到您的 /etc/shorewall/providers 文件中。
#NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY OPTIONS foo 1 202 - eth1 127.0.0.1 loose
在 /etc/shorewall/tcrules 中添加:
#MARK SOURCE DEST PROTO DEST # PORT(S) 202:P net:google.com 0.0.0.0/0 tcp 80
在 /etc/shorewall/interfaces 中:
#ZONE INTERFACE BROADCAST OPTIONS loc eth1 detect routeback
在本地主机上,安排在网络连接后执行以下命令
iptables -t nat -A PREROUTING -i eth0 -d ! 127.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 333
答案2
如果您只想在一台机器上执行此操作,您可以编辑:
/etc/hosts
并添加
google.com 127.0.0.1
然后重启网络服务
/etc/rc.d/init.d/network restart
但这会将正常的网络流量重定向到 localhost:80。