利用IPtables配置linux为路由器
环境主机网卡2网卡1用户版本密码routeens34:192.168.33.254ens33:192.168.164.167rootcentos7rootclientens33:192.168.33.11rootcentos7rootroute关闭selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config[r
·
环境
主机 | 网卡2 | 网卡1 | 用户 | 版本 | 密码 |
---|---|---|---|---|---|
route | ens34:192.168.33.254 | ens33:192.168.164.167 | root | centos7 | root |
client | ens33:192.168.33.11 | root | centos7 | root | |
route
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens34
修改ens34如下
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.33.254
NETMASK=255.255.255.0
NAME=ens34
DEVICE=ens34
ONBOOT=yes
service network restart
开启路由功能
echo "net.ipv4.ip_forward = 1">>/etc/sysctl.conf
sysctl -p
允许接收局域网卡数据包
iptables -I INPUT -i ens34 -j ACCEPT
使用snat修改数据包
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o ens33 -j SNAT --to-source 192.168.164.167
配置DNAT
iptables -t nat -A PREROUTING -i ens33 -d 192.168.164.167 -p tcp --dport 21 -j DNAT --to-destination 192.168.33.11
#-d 后面是自己ip 后面是需要转发的ip
iptables -t nat -A PREROUTING -i ens33 -d 192.168.164.167 -p tcp --dport 80 -j DNAT --to-destination 192.168.33.11
开启防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
打开route虚拟机之后执行
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.33.0/24 -o ens33 -j SNAT --to-source 192.168.164.167
iptables -t nat -A PREROUTING -i ens33 -d 192.168.164.167 -p tcp --dport 21 -j DNAT --to-destination 192.168.33.11
iptables -t nat -A PREROUTING -i ens33 -d 192.168.164.167 -p tcp --dport 80 -j DNAT --to-destination 192.168.33.11
client
修改ens33如下
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.33.11
NETMASK=255.255.255.0
GATEWAY=192.168.33.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=51802b6f-84e0-4fdd-8371-1321e65a925f
DEVICE=ens33
ONBOOT=yes
DNS1=202.120.2.101
或者
在/etc/NetworkManager中添加
dns=no
修改/etc/resolv.conf
nameserver 202.120.2.101
重启网络服务
service network restart
systemctl restart NetworkManager
安装apache和vsftpd
yum -y install httpd
yum -y install vsftpd
启动apache和vsftpd
service httpd restart
service vsftpd restart
开机启动
systemctl enable httpd.service
systemctl enable vsftpd.service
配置vsftpd
setsebool -P ftpd_full_access on
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
链接ftp
[root@localhost ~]# ftp 192.168.33.11
Connected to 192.168.33.11 (192.168.33.11).
220 (vsFTPd 3.0.2)
Name (192.168.33.11:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,33,11,181,42).
150 Here comes the directory listing.
drwxr-xr-x 2 1003 0 6 Dec 13 11:08 pub
226 Directory send OK.
参考
更多推荐
已为社区贡献3条内容
所有评论(0)