iptables转发实践
1.NAT基础知识
NAT(Network Address Translation)译为网络地址转换,NAT技术可以修改数据包的源地址、目的地址以及源端口、目的端口等信息。NAT技术通常用于端口和流量的转发、重定向,实现如端口映射、跨网络访问、流量代理等功能。
2.iptables实现NAT转发
首先启用网卡的IP转发功能,如果永久生效编辑/etc/sysctl.conf
文件,设置net.ipv4.ip_forward = 1
,然后用sysctl -p
命令使配置文件生效
格式
iptables [-t TABLE] COMMAND CHAIN [num] 匹配条件 -j 处理动作
命令参考
更改源ip
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 123.0.1.100
更改目的ip
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -i eth1 -j DNAT --to 123.0.1.100
本机端口转发
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 801
查看规则
iptables -t nat -L --line-number
删除指定规则
iptables -t nat -D PREROUTING 8
远程端口转发
iptables -t nat -A PREROUTING -d 121.4.5.1 -p tcp --dport 8080 -j DNAT --to-destination 121.4.5.2:80