论坛风格切换切换到宽版
  • 934阅读
  • 9回复

[问题求助]linux下作端口转发问题 [复制链接]

上一主题 下一主题
离线ppcynt.
 
发帖
1965
C币
-61033
威望
340
贡献值
1
银元
-4
铜钱
4335
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01

服务.器 192。168。0。1:1111(广告)
中介l.inux 192。168。0。2:2222(广告)
客户机  192。168。0。3             192。168。0。4     .      1.92。168。0。5 等。电脑


客.户机想连接服务器  192。168。0。1:1111端口,使用其.中的服.务,但是现在不想让他直接连接,想让他连接 192。169。0。2:2222由这个端口转发,怎么做?[成人用品]

也就是说 我想在中介linux上配.置, 到达192。168。0。2:2222的数据都转发给 192。168.。0。1.:1111,从192。168。0。1:1111 回来的数据都转发给客户机怎么做?              乙肝

我用iptable
1 要用 filer. 表还是nat表?我认为只有不同网段转发才用na.t。但不用nat , 到达192。168。0。2:2222的数据都转发给 19.2。168。0。1:1111好像难实现。健康

2. iptable语句如何写?电脑

http://upload.bbs.csuboy.com/Mon_1004/126_7016_0b0a34ccc7cf0fd.gif[/img]          婚庆

[ 本帖最后由 a.leng 于 2007-.3-14 16:41 编辑 ]--- 印刷


最佳答案思一克
http://upload.bbs.csuboy.com/Mon_1004/126_7016_c2515fb4e40125e.gif[/img]端口转发(两行XNAT iptables命令)可以将所有到A的连接转到B。.

但是有时候有需求,就是这.样转发的B看到的包来源IP是A。如果B机器上是IP敏感的服务(比如邮件系统smtpd 25中.的反垃圾功能)就不行。--------------彩票

我.是问,有办法实现类似转发的功能又保持IP? 目前我是在应用.层完成的,效率显然低呀--------------彩票


评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线jjpan.
发帖
2081
C币
-198470
威望
399
贡献值
1
银元
-3
铜钱
4820
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
端口转发(两行XNAT iptables命令)可以将所有到A的连接转到B。

但是有时候有需求,就是这样转发的B看到的包来源IP是A。如果B机器上是IP敏感的服务(比如邮件系统smtpd 25中的反垃圾功能)就不行。

我是问,有办法实现类似转发的功能又保持IP? 目前我是在应用层完成的,效率显然低呀


离线jacky750512.
发帖
2162
C币
-152267
威望
379
贡献值
1
银元
-3
铜钱
4755
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
顶+悬赏    0000


发帖
2073
C币
-139650
威望
368
贡献值
1
银元
-4
铜钱
4512
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
linux上

1.开启转发
echo 1 > /proc/sys/net/ipv4/ip_forward

2.打开网卡的shared_media功能,(通常已经打开)
echo 1 >/proc/sys/net/ipv4/conf/all/shared_media

3.关闭网卡的send_redirects功能
echo 0 >/proc/sys/net/ipv4/conf/all/send_redirects

4.DNAT
iptables -t nat -A PREROUTING -d 192.168.0.2 -p tcp -m tcp --dport 2222 -j SNAT --to-destination 192.168.0.1:1111

应该就可以了

[ 本帖最后由 qtdszws 于 2007-3-13 17:33 编辑 ]


离线yinhezixun.
发帖
2061
C币
-235551
威望
386
贡献值
1
银元
-1
铜钱
4624
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
你Linux上的IP是 192.168.0.2吧?

这样试试看(这里不考滤你默认防火墙的设置,假设为关闭的):

在Linux上 192.168.0.2
echo 1 > /proc/sys/net/ipv4/ip_forward

/sbin/iptbales -t nat -A POSTROUTING -s 192.168.0.3 -d 192.168.0.1 -j SNAT --to 192.168.0.2

/sbin/iptables -t nat -A PREROUTING -p tcp --dport 2222 -s 192.168.0.3 -d 192.168.0.2 -j DNAT  --to 192.168.0.1:22
复制代码
在服务器上 192.168.0.1,不让 192.168.0.3 直接访问 port:22,只能通过192.168.0.2:2222 来访问.
/sbin/iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j DROP
复制代码

在客户机上 192.168.0.3....访问.
ssh -p 2222 user@192.168.0.2 (Linux os)
复制代码
如果连接上了,可以在服务器上 (192.168.0.1)  用 tcpdum 查看一下数据的转发~~~

[ 本帖最后由 aib 于 2007-3-13 20:13 编辑 ]


离线acmilanajax.
发帖
2104
C币
-593911
威望
388
贡献值
3
银元
-1
铜钱
4730
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
可以用plug-gw来做
http://www.linuxforum.net/docnew ... mp;o=all&fpart=


离线paranoia.
发帖
1941
C币
-263065
威望
356
贡献值
1
银元
-2
铜钱
4372
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
/sbin/iptbales -t nat -A PREROUTING -s 192.168.0.3 -d 192.168.0.1 -j SNAT --to 192.168.0.2
/sbin/iptables -t nat -A POSTROUTING -p tcp --dport 2222 -s 192.168.0.3 -d 192.168.0.2 -j DNAT  --to 192.168.0.1:22


离线gssasd.
发帖
2090
C币
-60639
威望
395
贡献值
1
银元
-3
铜钱
4719
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
你Linux上的IP是 192.168.0.2吧?---是 的,手误,改正了,3q
iptables -t nat -A PREROUTING -d 192.168.0.2 -p tcp -m tcp --dport 2222 -j SNAT --to-destination 192.168.0.1:1111
----提示没有这个选项  --to-destination  

--to 好像也不行,你们可以试验试验,我也正努力钻研中。

[ 本帖最后由 aleng 于 2007-3-14 17:21 编辑 ]


离线initiallong.
发帖
2056
C币
-152475
威望
366
贡献值
1
银元
0
铜钱
4560
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
send_redirects 是干嘛用的?


离线beleen.
发帖
2112
C币
-60346
威望
394
贡献值
1
银元
-1
铜钱
4715
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-13
1.echo 1 > /proc/sys/net/ipv4/ip_forward
2.DNAT
iptables -t nat -A PREROUTING -d 192.168.0.2 -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.0.1:1111
3.SNAT
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp -m tcp --dport 1111 -j SNAT --to-destination 192.168.0.2

[ 本帖最后由 qtdszws 于 2007-3-15 15:09 编辑 ]

快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个