这篇文章将为大家详细讲解有关Linux系统如何配置端口映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、iptables命令
-t表>:指定要操纵的表; -A:向规则链中添加条目; -D:从规则链中删除条目; -i:向规则链中插入条目; -R:替换规则链中的条目; -L:显示规则链中已有的条目; -F:清楚规则链中已有的条目; -Z:清空规则链中的数据包计算器和字节计数器; -N:创建新的用户自定义规则链; -P:定义规则链中的默认目标; -h:显示帮助信息; -p:指定要匹配的数据包协议类型; -s:指定要匹配的数据包源ip地址; -j目标>:指定要跳转的目标; -i网络接口>:指定数据包进入本机的网络接口; -o网络接口>:指定数据包要离开本机所使用的网络接口。
iptables命令选项输入顺序:
iptables -t 表名 规则链名 [规则号] -p 协议名 --sport 源端口 --dport 目标端口 -j 动作
表名包括:
raw:高级功能,如:网址过滤。
mangle:数据包修改(QOS),用于实现服务质量。
nat:地址转换,用于网关路由器。
filter:包过滤,用于防火墙规则。
规则链名包括:
INPUT链:处理输入数据包。
OUTPUT链:处理输出数据包。
PORWARD链:处理转发数据包。
PREROUTING链:用于目标地址转换(DNAT)。
POSTOUTING链:用于源地址转换(SNAT)。
动作包括:
accept:接收数据包。
DROP:丢弃数据包。
REDIRECT:重定向、映射、透明代理。
SNAT:源地址转换。
DNAT:目标地址转换。
MASQUERADE:IP伪装(NAT),用于ADSL。
LOG:日志记录。
以上引用:http://man.linuxde.net/iptables
二、配置端口80转发到8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
操作表名nat,添加规则名PREROUTING,协议名tcp,转发端口80,动作REDIRECT,到目标端口8080
此时,访问http://ip 和http://ip:8080是一样的。
禁用8080端口:
iptables -t manage -A PREROUTING -p tcp --dport 8080 -j DROP
保存配置规则,
centos:
service iptables save
也可以编辑/etc/sysconfig/iptables
ubuntu:
sudo iptables-save > /etc/network/iptables.up.rules
编辑/etc/network/interfaces
加入 pre-up iptables-restore
保存退出。
三、删除映射
1、直接删除
iptables -t nat -D PREROUTING -P TCP --dport 80 -j REDIRECT --to-port 8080
2、进入/etc/sysconfig/iptables删除
3、通过line number删除
iptables -L -n -v --line-numbers
列出所有规则
如果要删除input链里的第一个规则,则使用如下:
iptables -D INPUT 1
记得保存规则。
关于“Linux系统如何配置端口映射”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。