iptables 一般系统自带,如果没有安装方法如下:
ubuntu/debian 系统: apt-get update -y && apt-get install iptables -y
centos 系统: yum update -y && yum install iptables -y
前期准备:
开启内核ip转发
vi /etc/sysctl.conf
将下面两项注释去掉,保存。
#net.ipv4.ip_forward=1
#net.ipv6.conf.all.forwarding=1
使改动生效
sysctl -p
本机端口转发
例1:
把发往本机80端口的数据重定向到8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
例2:
配置访问1.1.1.1端口80转发到目标地址192.168.1.9端口80
iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.9:80
iptables -t nat -A POSTROUTING -d 192.168.1.9 -p tcp --dport 80 -j SNAT --to-source 1.1.1.1
远程端口转发
把访问1.1.1.1:12345的数据包转发到2.2.2.2:12345
iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp --dport 12345 -j DNAT --to-destination 2.2.2.2:12345
Netflix:可以把1.1.1.1看成不可以看netflix的机(A机),2.2.2.2为可以看netflix的机(B机)。把上面的IP改为你实际的IP后在A机上运行上面命令,再把本地特殊姿势里面的IP和端口改为A机的即可。(此方法不适用于特殊姿势V: ws+tls搭配)
常用命令
# 保存 iptables
service iptables save
# 重启 iptables
service iptables restart
# 显示已有规则
iptables -t nat -L -n --line-number
# 删除链(chain)INPUT 中第二行的规则
iptables -D INPUT 2
# 清空规则
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
博主很热心就如所说:“每一个人都是缘分,无论是谁。” 帮我折腾了半天终于中转好了,提的问题都能解答