设置服务端口
设置httpd服务端口:
semanage port -a -t http_port_t -p tcp 6666 ##添加服务端口
semanage port -l | grep http
vim /etc/httpd/conf/httpd.conf
systemctl restart httpd
netstat -antlupe | grep http
semanage port -d -t http_port_t -p tcp 6666 ##删除服务端口
打开火墙服务
iptables:
yum install iptable-services.x86_64
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld ##封锁firewalld服务
systemctl start iptables
systemctl enable iptables
iptables -nL ##显示火墙策略
firewalld:
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl unmask firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --list-all
firewalld 域
火墙命令:
firewall-cmd --state ##查看火墙运行状态
firewall-cmd --get-active-zones ##查看当前活跃的域
firewall-cmd --get-default-zone ##查看默认域
firewall-cmd --get-zones ##查看所有域
firewall-cmd --zone=public --list-all ##查看public域提供的服务
firewall-cmd --get-services ##查看火墙管理的服务
firewall-cmd --list-all-zones ##查看各种域的管理范围
firewall-cmd --set-default-zone=dmz ##设置火墙的域
firewall-cmd --zone=trusted --add-source=172.25.254.80 ##80使用trusted域
firewall-cmd --get-active-zones
firewall-cmd --zone=public --add-interface=eth1 ##eth1使用public域
firewall-cmd --zone=public --remove-interface=eth1
firewall-cmd --add-service=dns ##临时添加服务dns
firewall-cmd --remove-service=ssh ##临时删除ssh
firewall-cmd --remove-service=ssh --permanent ##永久删除ssh
firewall-cmd --reload ##重启服务
firewall-cmd --complete-reload ##重启服务 中断当前连接服务
设置三表五列
实现只有60可使用 ssh
input output prerouting #目的地址解析 postrouting #源地址解析 forward
filter 1 1 1
net 1 1 1 1
mangle 1 1 1 1 1
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.60 -j ACCEPT ##60可以使用tcp
firewall-cmd --direct --get-all-rules ##查看设置的规则
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.60 -j ACCEPT ##删除规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 ! -s 172.25.254.76 -j ACCEPT ##只有76不能连
当172.25.254.60使用ssh连接172.25.254.160时自动连接1.1.1.80
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.80
firewall-cmd --reload
iptable
iptable
-t ##指定表名称
-n ##不作解析
-L ##列出指定表中的策略
-A ##增加策略
-p ##网络协议
--dport ##端口
-s ##数据来源
-j ##动作
ACCEPT ##允许
REJECT ##拒绝
DROP ##丢弃
-N ##增加链
-E ##修改链名称
-X ##删除链
-D ##删除指定策略
-I ##插入
-R ##修改策略
-P ##修改默认策略
iptables -t filter -nL #查看filter表中的策略
iptable -F #刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter
service iptables save #保存当前策略
iptables -A INPUT -i lo -j ACCEPT #允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ##允许访问22端口
iptables -A INPUT -s 172.25.254.250 -j ACCEPT ##允许250主机访问本机所有端口
iptables -A INPUT -j REJECT ##拒绝所有主机的数据来源
iptables -N redhat ##增加链redhat
iptables -E redhat westos ##改变链名称
iptables -X westos ##删除westos链
iptable -D INPUT 2 ##删除INPUT链中的第二条策略
iptables -I INPUT -p tcp --dport 80 -j REJECT ##插入策略到INPUT中的第一条
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT ##修改第一条策略
iptable -P INPUT DROP ##把INPUT表中的默认策略改为drop
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
iptables -A INPUT -j REJECT
sysctl -a | grep forward
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
使其他主机ssh连接eth0 172.25.254.160时自动连接1.1.1.80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22-j DNAT --to-dest 1.1.1.80
使1.1.1.80可以连接172.25.254.60
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.160
版权声明:本文为zcx1203原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。