【求助】linux的 iptables问题求助
【求助】linux的 iptables问题求助linux的 iptables问题求助
iptables问题求助
现在我有个linux网关的服务器,DELL的机器,目前做的squid透明代理。
2个网卡,一个内网192.168.1.250,一个外网IP,211.11.21.11
80请求都发送到机器上面的Squid代理服务
iptables这个比较简单,一个转发,还有几条是封掉4000-8000端口的。
现在有一个新需求
局域网内有一个软件(大家常用的办公软件)它是要走网关192.168.1.251.这个IP是一套路由器,它走的vpn线路到外地,大概端口是3200-3600吧,访问的目标IP是192。168.8.1
如何重新加一条iptable呢?就是让大家机器还是默认网关192。168.1.50.,这个网关把需要访问192。168.8.1/送到网关192.168.1.251去 我觉得你不需要在192.168.1.250上作这种转发。
是不是可以在局域网内的办公机上为每个网卡设置两个gateway跳转点就可以了。
我们公司在给客户组网的时候,有两台gateway,一台是部队内网,一台是通过ADSL链接到公网上的,只要在每台内网机器上设两个gateway跳转点就解决了这个问题。 每个机器修改麻烦,才想这个招数的 要么这样试试:
1.在192.168.1.250上做好指向192.168.1.251的路由
2.在192.168.1.250上
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -p tcp --dport 3200:3600 -j ACCEPT 谢谢啦,那路由的语句咋写? route add 192.168.8.1 mask 255.255.255.255 192.168.1.251 metric 1 谢谢哦 chinaboy好久不见 #/sbin/route add 192.168.8.1 mask 255.255.255.255192.168.1.251 metric 1
Usage: inet_route [-vF] del {-host|-net} Target [ If]
inet_route [-vF] add {-host|-net} Target
[ If]
inet_route [-vF] add {-host|-net} Target reject
inet_route [-FC] flush NOT supported
#
好像不能运行。
改成inet_route也不行 语法错了,这样写:
route add 192.168.8.1 gw 192.168.1.251 metric 1 谢谢Roamvalley,可以运行了,等到公司我去试验看看 我试验了。
在pc机这样写可以访问192.168.8.1
route add 192.168.8.1 mask 255.255.0.0 192.168.1.251
在这个linux网关写route还是不行的。不能访问。
/sbin/route add -net 192.168.8.1 gw 192.168.1.251 metric 1 192.168.1.250添加了这个route后能否访问192.168.1.251?我是指丛192.168.1.250访问192.168.1.251 192.168.1.250
192.168.1.251 是2个网关
250是linux机器
251是1800的路由器 挺奇怪的。。在本地pc机上tracert192.168.8.1 ,也能看到从先1.250,然后是1.251出去了。 Posted by Roamvalley on 2009-8-24 09:43 http://www.ibmnb.com/images/common/back.gif
192.168.1.250添加了这个route后能否访问192.168.1.251?我是指丛192.168.1.250访问192.168.1.251
从1.250这个能 traceroute到8.1
应该路由1.250,1.251啥都通畅的。
就是软件无法使用。
pc写路由,在pc机这样写可以访问192.168.8.1
route add 192.168.8.1 mask 255.255.0.0 192.168.1.251
这样没问题。但改动比较多的pc,我打算一次在linux这个网关设置。
[ Edited by馅饼 on 2009-8-24 12:27 ] #
# For binary values, 0 is disabled, 1 is enabled.See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
# Controls source route verification
net.ipv4.conf.default.rp_filter = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# added by kparam install on Wed Jun1 20:07:17 CST 2005
# For Asianux
kernel.panic = 10
kernel.msgmnb = 65535
kernel.msgmni = 2878
kernel.sem = 256 32000 100 142
kernel.shmmax = 2147483648
fs.file-max = 131072
fs.aio-max-size = 2147483648
net.ipv4.ip_local_port_range = 1024 65000
#vm.pagecache = 10 20 30
# for RAC system
#net.core.rmem_max=262144
#net.core.wmem_max=262144
#net.core.rmem_default=262144
#net.core.wmem_default=262144 traceroute说明那个路由是对的了。
现在的问题可能是你给的那个软件的信息不够准确,你要确定:
1.这个软件占用的端口号是 3200-3600
2.是否需要UDP通信? 这样再试试:
iptables -A FORWARD -p tcp -d 192.168.8.1 -j ACCEPT
回复 #17 Roamvalley 的帖子
是3200-3600的,UDP不确定。
Posted by Roamvalley on 2009-8-24 19:28 http://www.ibmnb.com/images/common/back.gif
这样再试试:
iptables -A FORWARD -p tcp -d 192.168.8.1 -j ACCEPT
嗯,试验了,还是一样的结果。
[ Edited by馅饼 on 2009-8-25 08:37 ] 使用linux路由出现的软件连接的错误的信息。 /sbin/iptables -t nat -A PREROUTING -p tcp -d 192.168.8. 1-j DNAT --to 192.168.1.251
/sbin/iptables -t nat -A PREROUTING -p udp -d 192.168.8.1 -j DNAT --to 192.168.1.251
加了这2句话时候,连接错误信息是不同的。
左边没加,右边是加了iptable。 我查了一下,sap还需要这个端口:5555(tcp)
另外,没看到sap需要udp协议。
iptables -t nat -A POSTROUTING -p tcp -d 192.168.8.1 -j SNAT --to-source 192.168.1.250
把中转的报文源地址设成第一个网关 192.168.1.250 Roamvalley谢谢,还是不行的。。另外一个公司用海蜘蛛之类LINUX服务网关的类似路由语句就可以。
我先拿每个pc机的加路由命令对付用吧。
页:
[1]