前言
iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的处理和转发。在大部分Linux发行版中,可以通过 手册页 (页面存档备份,存于互联网档案馆) 或 man iptables 获取用户手册。通常iptables需要内核模块支持才能运行,此处相应的内核模块通常是Xtables。因此,iptables操作需要超级用户权限,其可执行文件通常位于 /sbin/iptables 或 /usr/sbin/iptables 。同时,需要说明的是,以上命令通常只用于处理 IPv4 数据包;而对于 IPv6 数据包,则使用类似的 ip6tables 命令。(维基百科)
端口转发
- 访问当前主机指定端口的流量会转发到指定主机的指定端口
<port_current>:当前主机端口号
<ip_target>:目标主机IP地址
<port_target>:目标主机IP端口号
1 2 3 4 5 6
| iptables -I INPUT -p tcp -m tcp --dport <port_current> -j ACCEPT iptables -t nat -A PREROUTING -p tcp --dport <port_current> -j DNAT --to-destination <ip_target>:<port_target> iptables -t nat -A POSTROUTING -j MASQUERADE iptables -I FORWARD -j ACCEPT iptables -P FORWARD ACCEPT sysctl net.ipv4.ip_forward=1
|
查看规则
清空规则
完成
参考文献