一、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)。
动作包括:
-
:接收数据包。
-
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系统汇中端口映射的教程分享结束,大家有任何问题都可以在评论区留言。
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!