防火墙概述
1,封端口ip
2,实现nat功能
- 共享上网
- 端口映射
防火墙种类及使用说明
-
硬件防火墙
-
开源软件:iptables(默认规则改为INPUT DROP)
-
云服务器:安全组(阿里云 白名单,默认是拒绝的)
相关名词与单词
名词 | 含义 | 对比 |
---|---|---|
容器 | 瓶子,罐子,存放内容/存放东西 | |
Netfilter/iptables(一栋楼) | 是表的容器 | 国家 |
表(table)(楼里面的房子) | 表是用来存放链的容器 | 省 |
链(chain)(房子里的柜子) | 链 存放规则的容器 | 市 |
规则(policy)(柜子里面的衣服,摆放规则) | 准许/拒绝访问 | 区/县 |
防火墙执行过程
- 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
- 如果匹配上规则,即明确表示是阻止(DROP)还是通过(ACCEPT)数据包就不再向下匹配新的规则。
- 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。
- 防火墙的默认规则是所有规则执行完才执行的。
表与链(4表5链)
四表及作用
表 | 功能 |
---|---|
Filter | 过滤,默认的表,防火墙功能 |
NAT | 实现NAT转化:1.共享上网 2.端口转发 |
mangle | 查询帮助man iptables 了解即可 |
raw | 查询帮助man iptables 了解即可 |
四表中的5链
- PREROUTING
- FORWARD
- INPUT
- OUPUT
- POSTROUTING
filter表
实现防火墙功能,屏蔽或者准许端口ip
nat表
实现nat功能
- 实现共享上网
- 端口映射和ip映射
5.3.1 filter表
filter表 | 企业工作场景:主机防火墙 |
---|---|
INPUT | 就是过滤进入主机的数据包 |
FORWARD | 负责转发流经主机的数据包 |
OUTPUT | 就是处理从主机发出去的数据包 |
5.3.2 nat表
nat表 | |
---|---|
PREROUTING | 处理用户请求中的目的地址 目的端口 端口转发 ip映射 |
POSTROUTING | 处理离开服务器的请求 源端口 源ip :共享上网 |
OUTPUT | 和主机放出去的数据包有关,改变主机发出数据包的目的地址 |
补充:
filter表:
INPUT 作用:用于发送到本地套接字的数据包。
FORWARD 作用:对于正在通过该框路由的数据包
OUTPUT 作用:用于本地生成的数据包。nat表:
PREROUTING 作用:因为他们一进来就改变了包
OUTPUT 作用:用于在路由之前更改本地划分的数据包。
POSTROUTING 作用:改变包,因为它们即将离开
环境准备
root@m01 ~]#yum install -y iptables-services root@m01 ~]# rpm -qa iptables-services iptables-1.4.21-28.el7.x86_64 [root@m01 ~]# rpm -ql iptables-services /etc/sysconfig/ip6tables /etc/sysconfig/iptables #iptables 配置文件 /usr/lib/systemd/system/ip6tables.service /usr/lib/systemd/system/iptables.service #iptables服务管理配置 systemctl start
启动防火墙
【root@m01 ~]# systemctl stop firewalld #CentOS7关闭firewalld
[root@m01 ~]#systemctl disable firewalld
[root@m01 ~]# systemctl restart iptables
[root@m01 ~]# systemctl enable iptables
手动加载内核模块
[root@m01 ~]# modprobe ip_tables [root@m01 ~]# modprobe iptable_filter [root@m01 ~]# modprobe iptable_nat [root@m01 ~]# modprobe ip_conntrack [root@m01 ~]# modprobe ip_conntrack_ftp [root@m01 ~]# modprobe ip_nat_ftp [root@m01 ~]# modprobe ipt_state
检查防火墙内核模块是否加载成功:
[root@m01 ~]# lsmod |egrep 'nat|ipt|filter' nf_nat_ftp 12770 0 nf_conntrack_ftp 18638 1 nf_nat_ftp ipt_REJECT 12541 2 nf_reject_ipv4 13373 1 ipt_REJECT ipt_MASQUERADE 12678 1 nf_nat_masquerade_ipv4 13412 1 ipt_MASQUERADE iptable_filter 12810 1 xt_nat 12681 2 iptable_nat 12875 1 nf_nat_ipv4 14115 1 iptable_nat nf_nat 26787 4 nf_nat_ftp,nf_nat_ipv4,xt_nat,nf_nat_masquerade_ipv4 nf_conntrack 133095 8 nf_nat_ftp,nf_nat,xt_state,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ftp,nf_conntrack_ipv4 ip_tables 27126 2 iptable_filter,iptable_nat libcrc32c 12644 3 xfs,nf_nat,nf_conntrack
查看filter表中的规则,默认查看的是filter表
[root@localhost ~]# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination
查看nat表
[root@localhost ~]# iptables -nL -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination RETURN all -- 192.168.122.0/24 224.0.0.0/24 RETURN all -- 192.168.122.0/24 255.255.255.255 MASQUERADE tcp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE udp -- 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
iptables命令参数:
配置规则-禁止访问22端口
[root@m01 ~]# iptables -F #清除规则 [root@m01 ~]# iptables -X [root@m01 ~]# iptables -Z [root@m01 ~]# iptables -nL #查看规则 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@m01 ~]# #添加一条规则,禁止22端口访问 [root@m01 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP [root@m01 ~]# Type `help' to learn how to use Xshell prompt. [d:\~]$ #断开了~跑下机房
删除规则,重新连接m01
[root@m01 ~]# iptables -nL --line-number #查看防火墙规则 [root@m01 ~]# iptables -t filter -D INPUT 1 #删除第1条规则 [root@m01 ~]# iptables -nL --line-number #再次查看
重新连接 22端口就可以用了
为了防止一些意外发生,建议每天定时关闭防火墙和启动防火墙
多个端口:表示范围 1-1024范围
[root@m01 ~]# iptables -I INPUT -p tcp ! --dport 1:1024 -j DROP [root@m01 ~]# iptables -nL Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:!1:1024 2 DROP tcp -- !10.0.0.0/24 0.0.0.0/0 Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination
多个端口 不连续 80,443,52113,22
[root@m01 ~]# iptables -I INPUT -p tcp -m multiport ! --dport 80,443,22 -j DROP [root@m01 ~]# iptables -nL Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 multiport dports !80,443,22 Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination
---ICMP协议---
- ICMP ping
- 整个网络核心
永久保存规则
[root@m01 ~]# cat /etc/sysconfig/iptables #防火墙的默认规则 # sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
[root@m01 ~]# iptables-save #当前的防火墙规则 # Generated by iptables-save v1.4.21 on Wed Jul 3 09:28:21 2019 *filter :INPUT ACCEPT [93:6196] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [69:7412] -A INPUT -s 10.0.1.0/24 -p icmp -m icmp --icmp-type 8 -m limit --limit 6/min -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type any -j DROP COMMIT # Completed on Wed Jul 3 09:28:21 2019 # Generated by iptables-save v1.4.21 on Wed Jul 3 09:28:21 2019 *nat :PREROUTING ACCEPT [39:2360] :INPUT ACCEPT [2:104] :OUTPUT ACCEPT [44:3050] :POSTROUTING ACCEPT [44:3050] -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to-source 10.0.0.61 -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.61 COMMIT # Completed on Wed Jul 3 09:28:21 2019
# Completed on Wed Jul 3 09:28:21 2019 [root@m01 ~]# iptables-save >/etc/sysconfig/iptables #备份 写入到配置文件 永久保存 restart iptables可以恢复 [root@m01 ~]# [root@m01 ~]# iptables-restore < /etc/sysconfig/iptables #从配置文件恢复 [root@m01 ~]# iptables -nL Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT icmp -- 10.0.0.0/24 0.0.0.0/0 icmptype 8 limit: avg 6/min burst 5 ACCEPT icmp -- 10.0.1.0/24 0.0.0.0/0 icmptype 8 limit: avg 6/min burst 5 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmptype 255 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@m01 ~]# systemctl restart iptables.service
注意事项:
- iptables-save >/etc/sysconfig/iptables
- iptables 是关闭状态 stop/disable
- 关闭时不要使用iptables -nL查看状态 ,一查看就打开了
- 查看防火墙状态:systemctl is-active iptables
生产场景配置:
生产场景: 默认: iptalbes -F iptalbes -x iptalbes -z iptalbes -nL iptables -A INPUT -p tcp --dport 22 -j Accept iptalbes -nL 设置允许本机Lo网卡 允许本机会还lo接口数据流程流出与流入 iptalbes -A INPUT -i lo -j ACCEPT iptalbes -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -m multiport -p tcp --dport 443,80 -j Accep t
NAT 表
nat表 | |
---|---|
PREROUTING | 处理用户请求中的目的地址 目的端口 端口转发 ip映射 |
POSTROUTING | 处理离开服务器的请求 源端口 源ip :**共享上网 |
OUTPUT | 和主机放出去的数据包有关,改变主机发出数据包的目的地址 |
实现共享上网
案例1:
#添加NAT共享上网命令 [root@m01 ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.61 [root@m01 ~]# iptables -t nat -nL Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- 172.16.1.0/24 0.0.0.0/0 to:10.0.0.61
去db01上关闭网卡eth0
#关闭eth0网卡 [root@db01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none NAME=eth0 DEVICE=eth0 ONBOOT=no #把eth0网卡关闭 IPADDR=10.0.0.51 PREFIX=24 GATEWAY=10.0.0.254 DNS1=10.0.0.254 或者 [root@db01 ~]# ifdown eth0 #暂时将eth0网卡关闭 #可以利用m01进行ssh远程连接db01的内网地址 [root@m01 ~]# ssh 172.16.1.51 Last login: Wed Jul 3 11:12:04 2019 from 10.0.0.1 [root@db01 ~]# #修改eth1网卡网关 [root@db01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet BOOTPROTO=static IPADDR=172.16.1.51 PREFIX=24 NAME=eth1 DEVICE=eth1 ONBOOT=yes GATEWAY=172.16.1.61 #修改网关为m01的内网地址 DNS1=223.5.5.5 #DNS按原理来说会自动分配,如果不通的话就加入此条DNS解析即可 [root@db01 ~]# systemctl restart network #重启网卡 [root@db01 ~]# [root@db01 ~]# ping baidu.com #可以上网了 PING baidu.com (220.181.38.148) 56(84) bytes of data. 64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=127 time=7.74 ms 64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=127 time=11.8 ms ^C --- baidu.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3006ms rtt min/avg/max/mdev = 7.249/9.136/11.833/1.812 ms [root@db01 ~]#
案例2:
端口转发
IP转发
访问10.0.0.61的8080端口转发到ip10.0.0.51的22端口
[root@m01 ~]# #iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 8080 -j DNAT --to-destination 10.0.0.51:22 #端口转发
[root@m01 ~]# #iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 8080 -j DNAT --to-destination 10.0.0.51 #ip转发
[root@m01 ~]# iptables -nL -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- 0.0.0.0/0 10.0.0.61 tcp dpt:8080 to:10.0.0.51:22 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- 10.8.0.0/24 !10.8.0.0/24 to:10.0.0.61 SNAT all -- 172.16.1.0/24 0.0.0.0/0 to:10.0.0.61
[root@m01 ~]# iptables -nL -t nat #查看nat表 Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- 0.0.0.0/0 10.0.0.61 tcp dpt:9000 to:10.0.0.51:22 Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- 10.8.0.0/24 !10.8.0.0/24 to:10.0.0.61 SNAT all -- 172.16.1.0/24 0.0.0.0/0 to:10.0.0.61 [root@m01 ~]# cat /proc/sys/net/ipv4/ip_forward #查看防火墙是否打开 1 [root@m01 ~]# lsmod |egrep 'nat|ipt|filter' #检查 iptable_filter 12810 1 xt_nat 12681 3 iptable_nat 12875 1 nf_nat_ipv4 14115 1 iptable_nat nf_nat 26787 2 nf_nat_ipv4,xt_nat nf_conntrack 133095 3 nf_nat,nf_nat_ipv4,nf_conntrack_ipv4 ip_tables 27126 2 iptable_filter,iptable_nat ipt_REJECT 12541 0 nf_reject_ipv4 13373 1 ipt_REJECT libcrc32c 12644 3 xfs,nf_nat,nf_conntrack
#现在连接应该是不通,此刻需要添加一条内核优化 tcp转发功能 [root@m01 ~]# #第一种方法: [root@m01 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward [root@m01 ~]# cat /proc/sys/net/ipv4/ip_forward 1 [root@m01 ~]# #第二种方法: [root@m01 ~]# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf #让其生效 [root@m01 ~]# sysctl -p
NAT端口转发设置:
背景: 服务器A:103.110.114.8/192.168.1.8,有外网ip,是IDC的一台服务器 服务器B:192.168.1.150,没有外网ip,A服务器是它的宿主机,能相互ping通 服务器C:192.168.9.120,是公司的一台服务器,能上网。 服务器C可以直接ssh登陆A服务器,但是不能直接登陆服务器B,因为它们处在两个不同的局域网内。 现在要求能从服务器C上ssh登陆服务器B,并且做ssh无密码信任跳转关系。 这就需要用到iptables的NAT端口转发功能了~~~~~ 思路: 让服务器C先访问服务器A上的20022端口,然后NAT转发到服务器B的ssh端口(22端口) ---------------------------------------------------------------------------------------------- 下面是在宿主机A上(192.168.1.8)的操作: 1)先开启ip路由转发功能 [root@linux-node1 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 或者 [root@linux-node1 ~]# cat /etc/sysctl.conf .......... net.ipv4.ip_forward = 1 [root@linux-node1 ~]# sysctl -p 2)设置iptables的NAT转发功能 [root@linux-node1 ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 20022 -j DNAT --to-destination 192.168.1.150:22 [root@linux-node1 ~]# iptables -t nat -A POSTROUTING -d 192.168.1.150/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 192.168.1.8 [root@linux-node1 ~]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 20022 -j ACCEPT [root@linux-node1 ~]# service iptables save [root@linux-node1 ~]# service iptables restart nat端口转发设置成功后,/etc/sysconfig/iptables文件里要注释掉下面两行!不然nat转发会有问题!一般如上面在nat转发规则设置好并save和restart防火墙之后就会自动在/etc/sysconfig/iptables文件里删除掉下面两行内容了。 [root@linux-node1 ~]# vim /etc/sysconfig/iptables .......... #-A INPUT -j REJECT --reject-with icmp-host-prohibited //这两行最好是注释掉。在一般的白名单设置中,如果这两行不注释,也会造成iptables对端口的设置无效 #-A FORWARD -j REJECT --reject-with icmp-host-prohibited [root@linux-node1 ~]# service iptables restart ---------------------------------------------------------------------------------------------- 下面是在服务器B上(192.168.1.150)的操作: 1)首先关闭防火墙 [root@dev-new-test1 ~]# service iptables stop 2)设置网关为宿主机的内网ip(内网网关地址一定要保持和宿主机内网网关地址一致!如果没有内网网关地址,那么就把它的网关设置成宿主机的内网ip地址!) [root@dev-new-test1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ...... GATEWAY=192.168.1.8 ...... [root@dev-new-test1 ~]# /etc/init.d/network restart [root@dev-new-test1 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.1.8 0.0.0.0 UG 0 0 0 eth0 ---------------------------------------------------------------------------------------------- 最后在公司服务器C上测试:看看能否登陆到虚拟机上 [root@redmine ~]# ssh -p20022 103.110.114.8 The authenticity of host '[103.10.86.8]:20022 ([103.10.86.8]:20022)' can't be established. RSA key fingerprint is f8:a9:d1:cb:52:e8:8b:ed:8b:d2:1a:86:06:1a:fd:0f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[103.10.86.8]:20022' (RSA) to the list of known hosts. root@103.110.114.8's password: [root@dev-new-test1 ~]# ifconfig #查看,已经成功登陆进来了! eth0 Link encap:Ethernet HWaddr FA:16:3E:9D:F3:17 inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fe9d:f317/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:27047404 errors:0 dropped:0 overruns:0 frame:0 TX packets:6401069 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:67605283704 (62.9 GiB) TX bytes:566935277 (540.6 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:87025 errors:0 dropped:0 overruns:0 frame:0 TX packets:87025 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:65978795 (62.9 MiB) TX bytes:65978795 (62.9 MiB) 可以把服务器C的公钥id_rsa.pub内容拷贝到虚拟机上的authorized_keys文件内,这样从C机器就能ssh无密码登陆到虚拟机B上了。 -------------------------------------------------------------------- 下面贴出几个其他转口的转发规则(本机开启ip路由转发,目标机器注意防火墙和网关设置): 本机(192.168.1.7)的19200转发到192.168.1.160的9200 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 19200 -j DNAT --to-destination 192.168.1.160:9200 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 9200 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 19200 -j ACCEPT 本机(192.168.1.7)的33066转发到192.168.1.160的3306 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 33066 -j DNAT --to-destination 192.168.1.160:3306 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 3306 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 33066 -j ACCEPT 本机(192.168.1.7)的8880转发到192.168.1.1的8080 [root@kvm-server conf]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8880 -j DNAT --to-destination 192.168.1.160:8080 [root@kvm-server conf]# iptables -t nat -A POSTROUTING -d 192.168.1.160/32 -p tcp -m tcp --sport 8080 -j SNAT --to-source 192.168.1.7 [root@kvm-server conf]# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 8880 -j ACCEPT
防火墙小结
- 防火墙4表5链
- filter表 实现防火墙功能
- nat 表 PREROUTING实现 端口转发
- nat 表 POSTROUTING链实现 共享上网(云服务器无法使用,代替产品叫 NAT网关)
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/16841351.html