Linux运用iptables端口转发
2015-11-17 12:05
399 查看
启用网卡转发功能
#echo 1 > /proc/sys/net/ipv4/ip_forward
举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端口
a.同一端口转发192.168.0.132上开通1521端口访问
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 1521 -j DNAT --to 192.168.0.211
iptables -t nat -I POSTROUTING -p tcp --dport 1521 -j MASQUERADE
b.不同端口转发192.168.0.132上开通21521端口访问
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21521 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21521 -j DNAT --to-destination 192.168.0.211:1521
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp --dport 1521 -j SNAT --to-source 192.168.0.132
以上两条等价配置(更简单[指定网卡]):iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 31521 -j DNAT --to 192.168.0.211:1521
iptables -t nat -A POSTROUTING -j MASQUERADE 保存iptables
#service iptables save#service iptables restart
二 用iptables做本机端口转发代码如下:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
估计适当增加其它的参数也可以做不同IP的端口转发。如果需要本机也可以访问,则需要配置OUTPUT链(********特别注意:本机访问外网的端口会转发到本地,导致访不到外网,如访问yown.com,实际上是访问到本地,建议不做80端口的转发或者指定目的 -d localhost):
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080原因:
外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT。
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 20022 -j REDIRECT --to-ports 22
端口转发
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT --to-destination 10.10.2.200:881
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.200 -p tcp -m tcp --dport 881 -j SNAT --to-source
/sbin/iptables –A INPUT –p tcp –dport 881 –i ppp0 –j ACCEPT
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 800 -j DNAT --to-destination 10.10.2.101:800
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.101 -p tcp -m tcp --dport 800 -j SNAT --to-source
/sbin/iptables –A INPUT –p tcp –dport 800 –i ppp0 –j ACCEPT
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -d --dport 80 -J DNAT --to-destination :8080
/sbin/iptables -t nat -A POSTROUTING -p tcp -s --sport 8080 -J SNAT --to-source
#echo 1 > /proc/sys/net/ipv4/ip_forward
举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端口
a.同一端口转发192.168.0.132上开通1521端口访问
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
iptables -t nat -I PREROUTING -p tcp --dport 1521 -j DNAT --to 192.168.0.211
iptables -t nat -I POSTROUTING -p tcp --dport 1521 -j MASQUERADE
b.不同端口转发192.168.0.132上开通21521端口访问
iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21521 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21521 -j DNAT --to-destination 192.168.0.211:1521
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp --dport 1521 -j SNAT --to-source 192.168.0.132
以上两条等价配置(更简单[指定网卡]):iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 31521 -j DNAT --to 192.168.0.211:1521
iptables -t nat -A POSTROUTING -j MASQUERADE 保存iptables
#service iptables save#service iptables restart
二 用iptables做本机端口转发代码如下:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
估计适当增加其它的参数也可以做不同IP的端口转发。如果需要本机也可以访问,则需要配置OUTPUT链(********特别注意:本机访问外网的端口会转发到本地,导致访不到外网,如访问yown.com,实际上是访问到本地,建议不做80端口的转发或者指定目的 -d localhost):
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080原因:
外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT。
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 20022 -j REDIRECT --to-ports 22
端口转发
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 881 -j DNAT --to-destination 10.10.2.200:881
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.200 -p tcp -m tcp --dport 881 -j SNAT --to-source
/sbin/iptables –A INPUT –p tcp –dport 881 –i ppp0 –j ACCEPT
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 800 -j DNAT --to-destination 10.10.2.101:800
/sbin/iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -d 10.10.2.101 -p tcp -m tcp --dport 800 -j SNAT --to-source
/sbin/iptables –A INPUT –p tcp –dport 800 –i ppp0 –j ACCEPT
IP端口转发
/sbin/iptables -t nat -A PREROUTING -p tcp -d --dport 80 -J DNAT --to-destination :8080
/sbin/iptables -t nat -A POSTROUTING -p tcp -s --sport 8080 -J SNAT --to-source
相关文章推荐
- Linux运用iptables端口转发
- Linux中使用ipvsadm配置LVS集群的基本方法
- 如何从linux内核上预留DDR物理内存
- 在Linux系统的服务器上使用Memtester进行内存压力测试
- PythonOS库练习——模拟linux文件管理命令
- sync/fsync/fdatasync的简单比较
- Linux线程的几种结束方式
- linux redhat 操作/命令
- Linux入门学习教程:虚拟机体验之KVM篇
- linux下的常用指令
- CentOS 6.3系统安装配置KVM虚拟机
- 虚拟机linux无法获得IP
- linux下gcc/g++编译器使用简介及makefile的书写规则
- ActiveMQ 即时通讯服务 浅析
- linux下vi的复制,黏贴,删除,撤销,跳转等命令 (转载)
- Linux 常用命令
- linux wc命令
- centos把用户加入sudoers
- Linux 程序开发打印Debug 信息的使用技巧
- vi常用命令