赞
踩
在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。
对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系统的人员直接学习Firewalld。
需要注意的是:如果开启防火墙工具,并且没有配置任何允许的规则,那么从外部访问防火墙设备默认会被阻止,但是如果直接从防火墙内部往外部流出的流量默认会被允许。
firewalld 只能做和IP/Port相关的限制,web相关的限制无法实现。
那么相较于传统的Iptables防火墙,firewalld支持动态更新,并加入了区域zone的概念
简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据不同的场景选择不同的策略模板,从而实现防火墙策略之间的快速切换
需要注意的是Firewalld中的区域与接口
一个网卡仅能绑定一个区域, eth0 -->A区域
但一个区域可以绑定多个网卡。A区域-->eth0 eth1 eth2
还可以根据来源的地址设定不同的规则。比如:所有人能访问80端口,但只有公司的IP才允许访问22端口。
区域
区域 | 默认规则策略 |
---|---|
trusted | 允许所有的数据包流入流出 |
home | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量 |
internal | 等同于home区域 |
work | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client、dhcpv6-client服务相关,则允许流量 |
public | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量 |
external | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
dmz | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
block | 拒绝流入的流量,除非与流出的流量相关 |
drop | 拒绝流入的流量,除非与流出的流量相关 |
#必须要记住的三个区域,其他的无所谓
trusted 白名单
public 默认区域
drop 黑名单
参数 | 作用 |
---|---|
zone区域相关指令 | |
–get-default-zone | 获取默认的区域名称 |
–set-default-zone=<区域名称> | 设置默认的区域,使其永久生效 |
–get-active-zones | 显示当前正在使用的区域与网卡名称 |
–get-zones | 显示总共可用的区域 |
–new-zone= | 新增区域 |
services服务相关命令 | |
–get-services | 列出服务列表中所有可管理的服务 |
–add-service= | 设置默认区域允许该填加服务的流量 |
–remove-service= | 设置默认区域不允许该删除服务的流量 |
Port端口相关指令 | |
–add-port=<端口号/协议> | 设置默认区域允许该填加端口的流量 |
–remove-port=<端口号/协议> | 置默认区域不允许该删除端口的流量 |
Interface网站相关指令 | |
–add-interface=<网卡名称> | 将源自该网卡的所有流量都导向某个指定区域 |
–remove-interface=<网卡名称> | 取消网卡绑定区域 |
sourceIP相关指令 | |
–add-source=<IP/位数> | 设置默认IP允许服务的流量 |
–remove-source=<IP/位数> | 移除设置的默认IP允许服务的流量 |
其他相关指令 | |
–list-all | 显示当前区域的网卡配置参数、资源、端口以及服务等信息 |
–reload | 让“永久生效”的配置规则立即生效,并覆盖当前的临时规则 |
为了能正常使用firewalld服务和相关工具去管理防火墙,必须启动firewalld服务,同时关闭以前旧的防火墙相关服务,需要注意firewalld的规则分为两种状态:
runtime运行时: 修改规则马上生效,但如果重启服务则失效,测试建议。
permanent持久配置: 修改规则后需要reload重载服务才会生效,生产建议。
#禁用防火墙
[root@web02 ~]# systemctl mask iptables.service
Created symlink from /etc/systemd/system/iptables.service to /dev/null.
#取消禁用防火墙
[root@web02 ~]# systemctl unmask iptables.service
Removed symlink /etc/systemd/system/iptables.service.
[root@web02 ~]# systemctl stop firewalld
[root@web02 ~]# systemctl start firewalld
[root@web02 ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
#查看默认使用的区域 [root@web02 ~]# firewall-cmd --get-default-zone public #查看区域的规则 [root@web02 ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: 80/tcp 80/udp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #指定查看区域规则 [root@web02 ~]# firewall-cmd --list-all --zone=public public (active) #区域(活跃的) target: default #状态:默认 icmp-block-inversion: no #ICMP块 interfaces: eth0 eth1 #区域绑定的网卡 sources: #允许流量的IP services: ssh dhcpv6-client #允许流量的服务 ports: 80/tcp 80/udp #允许流量的端口 protocols: #允许流量的协议 {'tcp'|'udp'|'sctp'|'dccp'} masquerade: no #ip 伪装 forward-ports: #端口转发 source-ports: #来源端口 icmp-blocks: rich rules: #富规则 #查询区域是否允许某服务 [root@web02 ~]# firewall-cmd --zone=public --query-service=ssh no #重启防火墙(清理临时的设置) [root@web02 ~]# firewall-cmd --reload success
**配置要求:**调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许
#配置默认区域拒绝所有的访问 [root@web02 ~]# firewall-cmd --remove-service={ssh,dhcpv6-client} success [root@web02 ~]# firewall-cmd --remove-port={80/tcp,80/udp} success [root@web02 ~]# firewall-cmd --remove-protocol={tcp,udp} success #配置允许的网段 [root@web02 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted success #查看使用的区域规则 [root@web02 ~]# firewall-cmd --get-active-zones public interfaces: eth0 eth1 trusted sources: 10.0.0.0/24
[root@web02 ~]# firewall-cmd --add-service=http
success
[root@web02 ~]# firewall-cmd --add-service={http,https}
success
#可以自己配置服务添加
[root@web02 ~]# cp /usr/lib/firewalld/services/{http.xml,suibian.xml}
[root@web02 ~]# firewall-cmd --add-service=suibian
[root@web02 ~]# firewall-cmd --add-port=80/tcp success [root@web02 ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: 80/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #移除允许的端口 [root@web02 ~]# firewall-cmd --remove-port=80/tcp
#配置允许的网段
[root@web02 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted
success
端口转发是指传统的目标地址映射,实现外网访问内网资源
流量转发语法为:
firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
实例: 需要将本地的10.0.0.8:5555端口转发至后端172.16.1.7:22端口
#1.添加端口转发 [root@web02 ~]# firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.7 success #2.开启IP伪装 [root@web02 ~]# firewall-cmd --add-masquerade success #3.查看规则 [root@web02 ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 eth1 sources: services: ssh dhcpv6-client ports: 80/tcp protocols: masquerade: yes forward-ports: port=5555:proto=tcp:toport=22:toaddr=172.16.1.7 source-ports: icmp-blocks: rich rules: #4.测试连接 [d:\~]$ ssh 10.0.0.8 5555 Connecting to 10.0.0.8:5555... Connection established. To escape to local shell, press Ctrl+Alt+]. Last login: Sun Mar 15 19:55:23 2020 from 10.0.0.1 [root@web01 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:c6:7b:51 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:c6:7b:5b brd ff:ff:ff:ff:ff:ff inet 172.16.1.7/24 brd 172.16.1.255 scope global noprefixroute eth1 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fec6:7b5b/64 scope link valid_lft forever preferred_lft forever [root@web01 ~]#
firewalld中的富语言规则表示更细致,更详细的防火墙策略配置,他可以针对系统服务、端口号、原地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册
#富规则语法 [root@web02 ~]# man firewalld.richlanguage rule [source] [destination] service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port [log] [audit] [accept|reject|drop|mark] rule [family="ipv4|ipv6"] source address="address[/mask]" [invert="True"] service name="service name" port port="port value" protocol="tcp|udp" protocol value="protocol value" forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address" accept | reject [type="reject type"] | drop #富语言规则相关命令 --add-rich-rule='<RULE>' #在指定的区域添加一条富语言规则 --remove-rich-rule='<RULE>' #在指定的区删除一条富语言规则 --query-rich-rule='<RULE>' #找到规则返回0,找不到返回1 --list-rich-rules #列出指定区里的所有富语言规则
例题:允许10.0.0.1主机能够访问http服务,允许172.16.1.0/24能访问10050端口
#允许10.0.0.1主机能够访问http服务
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 service name=http accept'
#允许172.16.1.0/24能访问10050端口
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=111 protocol=tcp accept'
例题:默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh reject'
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'
#drop和reject
drop直接丢弃,不返回任何内容
reject拒绝,返回拒绝的内容
例题:当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 forward-port port=5555 protocol=tcp to-port=22 to-addr=172.16.1.7'
success
[root@web02 ~]# firewall-cmd --add-masquerade
success
[root@web02 ~]# firewall-cmd --list-rich-rules
rule family="ipv4" source address="10.0.0.1" forward-port port="5555" protocol="tcp" to-port="22" to-addr="172.16.1.7"
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 protocol value=icmp drop'
注:一般所有的拒绝或接受都配置在默认区域,当指定IP访问指定端口或者服务的时候使用富规则
#我们防火墙的配置,永久生效后会保存在/etc/firewalld/zones/这个目录下面,所以如果进行服务器集群扩展,或者配置相同防火墙时,只需要把该文件拿过来启动防火墙即可
#备份也备份以上文目录
#备份文件一定是在永久生效后才会在目录下多生成一个文件
在指定的带有公网IP的实例上启动Firewalld防火墙的NAT地址转换,以此达到内部主机上网。
在公司里面,服务器上没有外网的,除非使用路由器,或者使用防火墙实现内部共享上网
[root@web02 ~]# firewall-cmd --add-masquerade
success
[root@web02 ~]# firewall-cmd --add-masquerade --permanent
success
[root@web02 ~]#
#配置内核转发
[root@m01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#在CentOS6中开启之后生效命令
[root@m01 ~]# sysctl -p
#查看内核转发是否开启
[root@m01 ~]# sysctl -a|grep net.ipv4.ip_forward
net.ipv4.ip_forward = 1
[root@web03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
#最后添加
GATEWAY=172.16.1.8
DNS1=223.5.5.5
#重启网卡
[root@web03 ~]# ifdown eth1 && ifup eth1
1.主机安全
2.内部共享上网
3.端口或IP映射
1.匹配规则是从上往下的依次执行的
2.只要匹配上规则,就不会再往下执行
3.如果都没有匹配到规则,就执行默认的规则
4.防火墙默认规则最后执行,默认允许所有
#注意:匹配越多的规则越往前放
#四表:
1.Filter表
2.NAT表
3.Managle表
4.Raw表
#五链:
1.INPUT
2.FORWARD
3.OUTPUT
4.PREROUTING
5.POSTRUTING
主要作用就是阻止和允许访问
包含的链:
1.INPUT:过滤进入主机的数据包
2.FORWARD:负责转发流经主机的数据包
3.OUTPUT:处理从主机出去的数据包
主要作用就是端口和IP转发
包含的链:
1.OUTPUT:处理从主机出去的数据包
2.PREROUTING:在数据包到达防火墙时进行判断,改写数据包目的地址或端口(端口转发)
3.POSTRUTING:在数据包到达防火墙时进行判断,改写数据包目的地址或端口(局域网共享上网)
[root@web02 ~]# yum install -y iptables-services
[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 'filter|nat|ipt'
[root@web02 ~]# systemctl stop firewalld
[root@web02 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@web02 ~]# systemctl start iptables.service
#常用参数 (a)链管理: -N:new, 自定义一条新的规则链; -X: delete,删除自定义的规则链; 注意:仅能删除 用户自定义的 引用计数为0的 空的 链; -P:Policy,设置默认策略;对filter表中的链而言,其默认策略有: ACCEPT:接受 DROP:丢弃 REJECT:拒绝 -E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除; (b)规则管理: -A:append,追加; -I:insert, 插入,要指明位置,省略时表示第一条; -D:delete,删除; (1) 指明规则序号; (2) 指明规则本身; -R:replace,替换指定链上的指定规则; -F:flush,清空指定的规则链; -Z:zero,置零; iptables的每条规则都有两个计数器: (1) 匹配到的报文的个数; (2) 匹配到的所有报文的大小之和; (c)查看: -L:list, 列出指定鏈上的所有规则; -n:numberic,以数字格式显示地址和端口号; -v:verbose,详细信息; -vv, -vvv -x:exactly,显示计数器结果的精确值; --line-numbers:显示规则的序号;
[root@web02 ~]# 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@web02 ~]# 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
[root@web02 ~]#
#删除链中所有的规则
[root@web02 ~]# iptables -F
#删除用户定义的链
[root@web02 ~]# iptables -X
#规则计数器清零
[root@web02 ~]# iptables -Z
[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
iptables #命令
-t #指定表
filter #表名字
-A #添加规则至链的最后
INPUT #链名字
-p #指定协议
tcp #tcp协议
--dport #指定端口
-j #指定动作
DROP #丢弃
[root@web02 ~]# iptables -nL --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@web02 ~]#
[root@web02 ~]# iptables -D INPUT 2
[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 3306 -j DROP
#配置访问抛弃
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.7 -i eth0 -j DROP
-s 指定源地址
-i 指定网卡
#测试访问
[root@web01 ~]# curl 10.0.0.8
curl: (7) Failed connect to 10.0.0.8:80; Connection timed out
#配置访问拒绝
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.9 -i eth0 -j REJECT
#访问测试
[root@web03 ~]# curl 10.0.0.8
curl: (7) Failed connect to 10.0.0.8:80; Connection refused
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.0/24 -i eth0 -j DROP
[root@web02 ~]# iptables -t filter -A INPUT -p tcp ! -s 10.0.0.1 -i eth0 -j DROP
#拒绝多个端口访问,可以使用逗号隔开
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -m multiport --dport 21,22,23,24 -j DROP
-m #指定扩展项
multiport #多端口匹配
#写端口范围可以使用 : 在端口之间
[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 22:100 -j DROP
1.考虑防火墙开在哪台机器上
2.该机器部署了什么服务
nginx
keepalived
3.服务开启的是什么端口
80
443
22
4.默认规则为所有都拒绝
#允许访问80和443 iptables -I INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT -I 添加规则至前面 #只允许跳板机连接22端口 iptables -A INPUT -p tcp -s 172.16.1.61 --dport 22 -j ACCEPT #禁止ping iptables -A INPUT -p icmp --icmp-type 8 ! -s 172.16.1.61 -j DROP #允许访问外网 iptables -A INPUT -i eth0 -j ACCEPT #默认拒绝所有 iptables -P INPUT DROP -P 更改policy默认策略
根据以上配置方法,最后一步设置了默认拒绝所有规则,那么跳板机连接主机后,千万不要进行清理防火墙的操作,否则就什么都连接不上了 因为清理防火墙规则不会清理'iptables -P INPUT DROP'这一条规则,那么防火墙默认规则就变成所有都dorp了 #解决方法: 需要到虚拟机或者物理机上操作 1.iptables -P INPUT ACCEPT 2.systemctl restart iptables 3.重启物理机(有风险) #避免方法: 1.将 iptables -P INPUT ACCEPT 加到定时任务(测试阶段可用该方法) * * * * * /usr/sbin/iptables -P INPUT ACCEPT 2.其他环境测试,测试没有问题后,复制所有规则到环境执行 3.配置前,先保存之前的防火墙规则,根据以前的规则修改 [root@web01 ~]# iptables-save > iptables_m01_20200116 修改后导入规则 [root@web01 ~]# iptables-restore < iptables_m01_20200116
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.0.1.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -nL
#把规则写入iptables配置文件 [root@m01 ~]# vim /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 ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p
iptables -A FORWARD -i eth1 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth0 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -d 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -d 172.16.1.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61
-j 指定动作
SNAT 源地址转换
--to-source 源地址转换指向
[root@web01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.61
DNS1=223.5.5.5
[root@web01 ~]# ifdown eth1 && ifup eth1
[root@m01 ~]# iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 5555 -j DNAT --to-destination 172.16.1.7:22
[root@m01 ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61
-d 指定目的ip
DNAT 目标地址转换
--to-destination 目标地址转换指向
[root@m01 ~]# iptables -t nat -A PREROUTING -d 10.0.1.61 -j DNAT --to-destination 172.16.1.7
iptables -A FORWARD -i eth1 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth0 -s 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -d 172.16.1.0/24 -j ACCEPT
iptables -A FORWARD -o eth1 -d 172.16.1.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。