设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 428|回复: 1
打印 上一主题 下一主题

网络高手请进:iptables 如何实现代理上网?

[复制链接]

该用户从未签到

跳转到指定楼层
楼主
发表于 2015-6-11 10:26:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,我对IPTABLES不熟悉。。

环境是这样的:
A.局域网内的一台linux主机a,可上网,只有一张网卡,假设IP 192.168.1.2;
B.路由器/网关b,假设IP 202.11.22.33,网关IP 192.168.1.1;
C.另外有一台公网代理服务器c,IP 101.4.5.6,开放的代理端口口 8888,可提供匿名/高匿名HTTP代理;
D.公网的一个应用服务器d,IP 303.7.8.9,提供80 HTTP访问,也提供 9999端口HTTP服务。

通过a的浏览器,设置代理 101.4.5.6:8888,可以从应用服务器d中,看到a 通过浏览器访问,并看到的是 c的IP。

但是如果我需要在其他程序中,也使用代理服务器d,那么我应该怎么样做呢?
如果我需要在程序中访问d的9999端口,也是使用代理服务器的,那么我又应该怎么样做?

iptables可以实现?如何实现?

试过曾经是成功的(应该不是我的幻觉),

在主机a中:
iptables -t nat -A OUTPUT -p tcp -dport 80 -j DNAT --to-destination 101.4.5.6:8888
(在这个之前,应该没有使用# echo 1 > /proc/sys/net/ipv4/ip_forward )

然后,用a的浏览器来访问d, 而从d 看到是来自c 的访问。
另外,路由器b没有做任何改变。

遗憾的是,我没法成功重复这个设置,
是我之前的幻觉?
还是我之前在使用这个命令之前,做了其他的操作?
是iptables不可以设置代理服务器?
是我的命令用错了?
请指教~先谢谢了~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    无聊
    2017-9-11 09:19
  • 签到天数: 221 天

    [LV.7]常住居民III

    沙发
    发表于 2015-6-11 10:27:00 | 只看该作者
    简单点来说,就是:
    我是否可以在主机a 中,通过iptables设置a使用代理服务器c,然后访问d.
    如果iptables不可以,那么应该怎么样做?
    tsock5这种好像只是代理某一个程序,而我想要的是:

    1.全局的代理,即所有的用户程序都可以通过代理访问,而不是单纯的只有浏览器可以通过代理访问。
    2.包括80端口以及其他某些指定端口的代理,比如5566端口。即任何一个程序,只要是想访问外网某个IP的5566端口,那么这个访问都是通过代理c访问的。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|中国U网    

    GMT+8, 2024-5-16 11:30 , Processed in 0.070620 second(s), 20 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表