Linux笔记-iptables模拟公司环境配置
生活随笔
收集整理的這篇文章主要介紹了
Linux笔记-iptables模拟公司环境配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求有3點:
①員工在公司內部(10.10.155.0/24,10.10.188.0/24)能訪問服務器上的任何服務。
②出差員工在上海,通過VPN連接到公司,外網(員工)撥號到VPN服務器,就可以使用內網的FTP、SAMBA、NFS、SSH。
③公司有一個門戶網站需要允許公網訪問。
允許外網訪問服務:
| http | 80/tcp |
| https | 443/tcp |
| smtp | 25/tcp |
| smtps | 465/tcp |
| pop3 | 110/tcp |
| pop3s | 995/tcp |
| imap | 143/tcp |
配置思路:
①允許本地訪問。
②允許已監聽狀態數據包通過。
③允許規則中允許通過的數據包通過(要開放ssh遠程管理端口)。
④拒絕未被允許的數據包。
⑤iptables規則保存成配置文件。
服務器上的配置:
允許公式內部網段訪問任何服務
iptables -A INPUT -s 10.10.155.0/24 -j ACCEPT iptables -A INPUT -s 10.10.188.0/24 -j ACCEPT iptables -A INPUT -s 10.10.140.0/24 -j ACCEPT對所有外網開放服務,vpn的服務端口一般是1723
iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 1723 -j ACCEPT允許ICMP并拒絕其他的數據流入
iptables -I INPUT -p icmp -j ACCEPT iptables -A INPUT -j REJECT本地網卡開放所有,允許所有數據流出
iptables -I INPUT -i lo -j ACCEPT iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT查看目前所有配置:
[root@bogon ~]# 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 all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 10.10.155.0/24 0.0.0.0/0 ACCEPT all -- 10.10.188.0/24 0.0.0.0/0 ACCEPT all -- 10.10.140.0/24 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:1723 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachableChain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@bogon ~]#下面是保存規則,這里有兩種方式,一種是使用iptables自帶的功能,去做
service iptables save
[root@bogon ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 確定 ] [root@bogon ~]# Generated by iptables-save v1.4.21 on Tue Mar 1 10:56:19 2022 *mangle :PREROUTING ACCEPT [664:135581] :INPUT ACCEPT [662:134905] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [547:110192] :POSTROUTING ACCEPT [631:123541] -A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill COMMIT # Completed on Tue Mar 1 10:56:19 2022 # Generated by iptables-save v1.4.21 on Tue Mar 1 10:56:19 2022 *nat :PREROUTING ACCEPT [211:28435] :INPUT ACCEPT [36:4197] :OUTPUT ACCEPT [188:15080] :POSTROUTING ACCEPT [188:15080] -A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN -A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE COMMIT # Completed on Tue Mar 1 10:56:19 2022 # Generated by iptables-save v1.4.21 on Tue Mar 1 10:56:19 2022 *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 # Completed on Tue Mar 1 10:56:19 2022就可以了。
[root@bogon ~]# systemctl enable iptables.service [root@bogon ~]#一種是寫個sh,然后放到開機自啟里面。
vim /opt/iptables_ssh.sh內容如下:
#!/bin/shiptables -A INPUT -s 10.10.155.0/24 -j ACCEPT iptables -A INPUT -s 10.10.188.0/24 -j ACCEPT iptables -A INPUT -s 10.10.140.0/24 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 1723 -j ACCEPTiptables -I INPUT -p icmp -j ACCEPT iptables -A INPUT -j REJECTiptables -I INPUT -i lo -j ACCEPT iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT修改開機自啟,文件
vim /etc/rc.local修改內容如下;
#!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to run scripts during boot instead of using this file. # # In contrast to previous versions due to parallel execution during boot # this script will NOT be run after all other services. # # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure # that this script will be executed during boot.touch /var/lock/subsys/local /bin/sh /opt/iptable_ssh.sh總結
以上是生活随笔為你收集整理的Linux笔记-iptables模拟公司环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css隐藏输入框的光标
- 下一篇: linux 共享库目录,Linux共享库