使用iptables做端口转发
通过iptables可以做转发
#!/bin/sh
IPT="/sbin/iptables"
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
$IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z
#DNAT 做端口转发
$IPT -t nat -A PREROUTING -d 192.168.0.174 -p tcp --dport 28 -j DNAT --to-destination 192.168.9.101:22
#SNAT 做端口转发
$IPT -t nat -A POSTROUTING -p tcp -d 192.168.9.101 --dport 22 -j SNAT --to-source 192.168.0.174
#SNAT 做网关转发
#$IPT -t nat -A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 210.72.24.15
说明:
DNAT 做端口转发
是将对外网ip 192.168.0.174的访问,映射到对内网ip 192.168.9.101的访问;
备注:
首先需要启用NAT需要在Linux上打开内核对IP包的转发支持,linux上编辑:/etc/sysctl.conf 文件:
net.ipv4.ip_forward = 1
然后执行
sysctl -p
对于单网卡虚拟网卡的场景
#!/bin/sh
IPT="/sbin/iptables"
/bin/echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
$IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z
iptables -t nat -A PREROUTING -p tcp --dport 8082 -i enp6s0f1 -d 20.20.20.247 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -A POSTROUTING -j MASQUERADE
上面的操作可以配置虚拟网卡iptable转发的访问
写于: 2014年08月04日
更新于: 2015年03月24日
使用iptables做端口转发的更多相关文章
- iptables做端口转发
一.用iptables做本机端口转发 比如80端口转8080端口 代码如下: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT ...
- 利用iptables做端口转发
需求背景: A与C不在同一网段无法直接访问,而A和B,C和B可以互通.现需要A借助B访问C的3306端口. 解决方案: 利用iptables配置规则,实现端口转发. 具体操作: 在B上开启端口转发功能 ...
- iptables 设置端口转发/映射
iptables 设置端口转发/映射 服务器A有两个网卡 内网ip:192.168.1.3 外网ip:10.138.108.103 本地回环:127.0.0.1 服务器B有网卡,8001提供服务 内网 ...
- centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发
centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...
- Ubuntu环境下的iptables的端口转发配置实例
打开转发开关要让iptables的端口转发生效,首先需要打开转发开关方法一:临时打开,重启后失效$sudo su#echo 1 >/proc/sys/net/ipv4/ip_forward 方法 ...
- centos6.5 iptables实现端口转发
将本地接口IP 61.144.a.b 的3389端口 转发到 116.6.c.d的3389 (主要访问到61.144.a.b的3389端口,就会跳转到116.6.c.d的3389) [步骤] ...
- iptables设置端口转发
转自:https://blog.csdn.net/sigangjun/article/details/17412821 一 从一台机到另一台机端口转发 启用网卡转发功能 #echo 1 > /p ...
- CentOS系统中使用iptables设置端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 ...
- linux下用用iptables做端口映射的shell
情形一:跨网络.跨主机的映射Full-Nat 我们想到达主机B的80端口,但是由于网络限制可能无法直接完成.但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口.这时候可以使用ipt ...
随机推荐
- 基于python实现链式队列代码
""" 链式存储-队列 linkqueue.py 代码实现 思路: 1.入队, 2.出队, 3.判断空满 """ # 异常类 class Q ...
- javascript 数字 字母 互转
var alphabet= String.fromCharCode(64 + parseInt(填写数字); 单个字符转数字: 'a'.charCodeAt(0) 结果: 97 数字转字母: Stri ...
- 正式班D11
2020.10.20星期二 正式班D11 bash解释器交互式环境特性 命令和文件自动补全(Tab只能补全命令和文件) 快捷键 CTRL+C ==>终止前台运行的程序 CTRL+D ==> ...
- C# 微支付退款申请接口 V3.3.6
/// <summary>/// 微支付退款申请/// </summary>/// <param name="context"></par ...
- filezilla pureftpd 读取目录列表失败
放行 21, 39000 - 40000端口
- 如何发布代码到maven中心仓库
deploy to sonatype 参考文章 https://blog.csdn.net/xuefu_78/article/details/52494698 https://blog.csdn.ne ...
- (python)getattr等用法
getattr() 函数用于返回一个对象属性值; 语法 getattr(object, name[, default]) 参数 object -- 对象. name -- 字符串,对象属性. defa ...
- Django项目登录注册系统
Django项目之个人网站 关注公众号"轻松学编程"了解更多. Github地址:https://github.com/liangdongchang/MyWeb.git 感兴趣的可 ...
- php的三元运算符
简单记录一哈php的三元运算符的用法: 啥子是三元运算,即第一个表达式作为判断条件,在后面两个表达式中选择一个执行. 若判断成立,则执行第二个表达式,否则执行第三个表达式. 看到好多网友都说的不 ...
- XX-Net 解决IPV6 不稳定,时好时坏。
一.启动IPV6 1.重置: netsh interface Teredo set state disable netsh interface Teredo set state type=defaul ...