2018-03-22 Linux学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-03-22 Linux学习相关的知识,希望对你有一定的参考价值。

10.15 iptables filter表小案例

vim /usr/local/sbin/iptables.sh
#!/bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.104.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

禁止别的电脑ping本机
iptables -I INPUT -p icmp --icmp-type 8 -j DROP

10.16 iptables nat表应用 (上)

nat 表应用

A机器两块网卡 ens33(192.168.104.160)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部往来,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联

    需求1:可以让B机器连接外网

        A机器上打开路由转发 echo "1" > /proc/sys/net/ipv4/ip_forward
        A机器上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
        B机器上设置网关为 192.168.100.1

    需求2: C 机器只能和 A 通信,让C机器可以直接连通B机器的22端口

        A上打开路由转发 echo "1" > /proc/sys/net/ipv4/ip_forward
        A上执行 iptables -t nat -A PREROUTING -d 192.168.104.160 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
        A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.104.160
        B上设置网关为 192.168.100.1

ifconfig ens37 192.168.100.1/24

ifconfig ens37 192.168.100.100/24

10.17 iptables nat表应用 (中)

A上打开端口转发,再添加iptables规则

    echo "1" > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上设置网关

    route add default gw 192.168.100.1
    ping 192.168.104.160     能ping通,说明与外网可以通信了
    添加DNS 119.29.29.29

10.18 iptables nat表应用 (下)

A 机器 先清空规则,再添加规则 (端口映射,实现远程连接)
    iptables -F
    echo "1" > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A PREROUTING -d 192.168.104.160 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
    iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.104.160

B上设置网关为 192.168.100.1

    ifconfig ens37 192.168.100.100/24
    route add default gw 192.168.100.1

以上是关于2018-03-22 Linux学习的主要内容,如果未能解决你的问题,请参考以下文章

2018-03-22

MySQL 中的“2018-03-22 00:00:00”有啥问题?

linux学习:Nginx--常见功能配置片段与优化-06

向Linus学习,让代码具有good taste

[linux][c/c++]代码片段01

自己喜欢的一些句子摘录-2018-03-22