当前位置: 技术问答>linux和unix
怎样用iptables做端口转发呢?
来源: 互联网 发布时间:2016-10-03
本文导语: 想尝试做一个端口转发,命令如下,就是不好用:203.208.39.99 是g.cn的地址。 iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 203.208.39.99 iptables -t nat -A POSTROUTING -p tcp -s 203.208.39.99 --sport 80 -j SNAT --to 192...
想尝试做一个端口转发,命令如下,就是不好用:203.208.39.99 是g.cn的地址。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 203.208.39.99
iptables -t nat -A POSTROUTING -p tcp -s 203.208.39.99 --sport 80 -j SNAT --to 192.168.88.200
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 203.208.39.99
iptables -t nat -A POSTROUTING -p tcp -s 203.208.39.99 --sport 80 -j SNAT --to 192.168.88.200
|
你是想让别的虚拟系统通过100来上网吧?
首先192.168.88.100需要能连到internet网,100上如下操作:
/etc/sysctl.conf文件里应该有如下一行:
net.ipv4.ip_forward = 1
如果没有就加上,默认好像是有的,但可能被注释了,那就去掉前面的#号,保存退出。
执行sysctl -p让参数生效
检查看看:
[root@RHEL5 ipv4]# cat /proc/sys/net/ipv4/ip_forward
1
接着就是iptables防火墙弄一下了,为了测试方便简单点如下:
[root@RHEL5 scripts]# cat firewall.sh
#!/bin/bash
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
iptables -t nat -Z
iptables -t nat -Z
iptables -t nat -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 这里填写你需要替其转发数据包做nat转换的网段 -j SNAT --to-source 192.168.88.100
其它主机设置好/etc/resolv.conf,/etc/sysconfig/network的GATEWAY就可以上网了。
首先192.168.88.100需要能连到internet网,100上如下操作:
/etc/sysctl.conf文件里应该有如下一行:
net.ipv4.ip_forward = 1
如果没有就加上,默认好像是有的,但可能被注释了,那就去掉前面的#号,保存退出。
执行sysctl -p让参数生效
检查看看:
[root@RHEL5 ipv4]# cat /proc/sys/net/ipv4/ip_forward
1
接着就是iptables防火墙弄一下了,为了测试方便简单点如下:
[root@RHEL5 scripts]# cat firewall.sh
#!/bin/bash
iptables -t filter -F
iptables -t filter -X
iptables -t filter -Z
iptables -t nat -Z
iptables -t nat -Z
iptables -t nat -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -s 这里填写你需要替其转发数据包做nat转换的网段 -j SNAT --to-source 192.168.88.100
其它主机设置好/etc/resolv.conf,/etc/sysconfig/network的GATEWAY就可以上网了。